Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 5/5 - 1 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Graphics32 companent PaintBox32 panel sabitleme.
#1
Question 
Selamın aleyküm arkadaşlar Graphics32 companent'de PaintBox32 var ben bir resim koyuyorum bu resmin belirli kordinatına nasıl panel sabitlerim bir türlü çözemedim yardımcı olursanız sevinirim?
Cevapla
#2
Aleyküm Selam,
PaintBox32 nesnesini kullanmadım. Fakat size yardımcı olabile adına bir açıklama gereği duydum. 
PaintBox32 bileşen hiyerarşisi aşağıdaki gibi görünüyor.

TCustomControl
   |
TCustomPaintBox32
   |
TCustomImage32
  |
TImage32


TImage32 ise muhtemelen grafik kontrolden (TGraphicControl) türemiştir. Kullanmak istediğiniz TPanel ise TWinControl'den türemiştir. Dolayısıyla PaintBox32 üzerine (Panel1.Parent := PaintBox32) Panel yerleşmeyecektir. PaintBox32 nesnesinin temel sınıflarında değişiklikle bu durum belki aşılabilir.

Konuyu biraz daha açıklama imkanınız var ise, belki daha farklı yöntemlerle yardımcı olabiliriz.
İyi çalışmalar
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla
#3
Fesih beyin farklı yöntemle yardımcı olma fikrine katılıyorum.

DelphiTurkiye forumda paylaşmıştım ama site kapanmış. Arşivimden bakmam lazım bulursam buradan yollarım. Vakit sıkıntısı yaşıyorum, aşabilirsem örnek yazar burada paylaşırım.

Mantık bir ilüzyona dayalı. Layer (katman) mantığını gütmek lazım.

Haritalama vb için uygun bir yöntem olarak düşündüm. Nesneler dinamik olarak create edildiği varsayımıyla ya dinamik dizi ile bu nesne konumları kayıt altına alınır veya karmaşık vektörel durumlar varsa nesne konumuna ilişkin resim ile aynı büyüklükte görünmeyen ikinci bir boş resim oluşturup, yerleşimi bu boş resme renkli yer belirteçleri olarak koyarak, daha sonra bu boş resimdeki noktaları scanline ile diziye alıp gerçeği üzerine layer mantığıyla işlemek olabilir.
Saygılarımla
Muharrem ARMAN

guplouajuixjzfm15eqb.gif


Cevapla
#4
@Fesih ARSLAN

Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol

--

uoam.jpg

Hocam şöyle bir program var delphi ile yazılmış harita programı resmi koyuyor programa ve fare ile yakınlaştırma uzaklaştırma yada fare ile tıklayıp aşşağı yukarı sağa sola götürme var ve harita üzerinde belirli kordinata yuvarlak nesne ve nesne üzerine yazı yazma oluyor bu program ne ile yapılmış buna benzer örnek bir program var mıdır?
Cevapla
#5
Şurayı bir incele istersen
DelphiTurkiye açılmış
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Saygılarımla
Muharrem ARMAN

guplouajuixjzfm15eqb.gif


Cevapla
#6
@mmarman

Arşiv bozulmuş dosyalar indirdim ama içi boş hocam benim projemi size göndersem özelden bakabilirmisiniz?
Cevapla
#7
Üzgünüm yardım etmek isterim ancak senin sonuca ulaşman lazım. Dolayısı ile başlığı okuyanlar.
Aksi halde işçilik olur.
Saygılarımla
Muharrem ARMAN

guplouajuixjzfm15eqb.gif


Cevapla
#8
Hocam çok denedim ama sonuca ulaşamadım Smile
Cevapla
#9
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol hocamızın örneği işinizi görür sanırım. 
Daha kapsamlı bir uygulama yazacaksanız, ücretli harici bileşen setleri de var. 
Örneğin ImageEn gibi. Layer'lardan oluşan ve vektörel çalışan nesneleri var. Yüzlerce efekt uygulanabiliyor.
Aşağıdaki linkten özelliklerine göz atabilirsiniz.
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol

İyi çalışmalar
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla
#10
Lightbulb 
Eve geldim.
Arşivimden projeyi buldum. Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol indirebilirsin.

5Yr3vj.gif

Gözle takip etmek isteyenler için kodlar aşağıda..
Var
  xBitmap : TBitmap;

procedure TForm1.btTemizleClick(Sender: TObject);
begin
  Image1.Picture.Graphic := xBitmap;
end;

procedure TForm1.btDoldurClick(Sender: TObject);
Var
  i : Integer;
  x, y : Integer;
  Satir : String;
  x1, y1 : Integer;
begin
  for i := 0 to ListBox1.Count - 1 do begin
    Satir := ListBox1.Items[i];
    x := StrToInt( Copy(Satir, 1, Pos(',', Satir) -1) );
    System.Delete(Satir, 1, Pos(',', Satir));
    y := StrToInt( Copy(Satir, 1, Pos('.', Satir) -1) );

    x1 := Trunc( X * (Image1.Width  / Image1.Picture.Bitmap.Width ) );
    y1 := Trunc( Y * (Image1.Height / Image1.Picture.Bitmap.Height) );
    with PaintBox1.Canvas do begin
      Brush.Style := bsSolid;
      Brush.Color := clYellow;
      Pen.Color   := clBlue;
      Pen.Width   := 3;
      Rectangle(x1-5, y1-5, x1+5, y1+5);
    end;
  end;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  ListBox1.Items.SaveToFile( ChangeFileExt(Application.Exename, '_Koordinat.TXT') );
  xBitmap.Free;
end;

procedure TForm1.FormResize(Sender: TObject);
begin
  btTemizle.Click;
  Application.ProcessMessages;
  btDoldur.Click;
end;

procedure TForm1.FormShow(Sender: TObject);
begin
  xBitmap := TBitmap.Create;
  xBitmap.Assign( Image1.Picture.Bitmap );
  If FileExists( ChangeFileExt(Application.Exename, '_Koordinat.TXT') )
    then ListBox1.Items.LoadFromFile( ChangeFileExt(Application.Exename, '_Koordinat.TXT') );
end;

procedure TForm1.ListBox1DblClick(Sender: TObject);
begin
  if ListBox1.ItemIndex >= 0 then ListBox1.Items.Delete(ListBox1.ItemIndex);
  FormResize(Nil);
end;

procedure TForm1.PaintBox1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
Var
  x1, y1 : Integer;
begin
  x1 := Trunc( X / (Image1.Width  / Image1.Picture.Bitmap.Width ) );
  y1 := Trunc( Y / (Image1.Height / Image1.Picture.Bitmap.Height) );
  Form1.Caption := Format('X: %d, Y:%d', [x1, y1]);
end;

procedure TForm1.PaintBox1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
Var
  x1, y1 : Integer;
begin
  x1 := Trunc( X / (Image1.Width  / Image1.Picture.Bitmap.Width ) );
  y1 := Trunc( Y / (Image1.Height / Image1.Picture.Bitmap.Height) );
  ListBox1.Items.Add( Format('%d,%d.', [ X1, Y1]) );
  FormResize(Nil);
end;

end.

Y42a6j.png
Saygılarımla
Muharrem ARMAN

guplouajuixjzfm15eqb.gif


Cevapla

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  PageControl e sabit panel eklenebilirmi cinarbil 9 256 29-06-2018, Saat: 09:59
Son Yorum: cinarbil
  Panel ve çözünürlük Lord_Ares 8 784 01-10-2017, Saat: 01:02
Son Yorum: mcuyan
  Değer döndüren panel Lord_Ares 11 1.242 26-09-2017, Saat: 15:19
Son Yorum: Lord_Ares



Konuyu Okuyanlar: 1 Ziyaretçi