Bir bmp resmi gridlemek ve gridlerin içini boyamak

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
uğur alkan
Üye
Mesajlar: 227
Kayıt: 29 Ağu 2004 04:49
Konum: Istanbul

Bir bmp resmi gridlemek ve gridlerin içini boyamak

Mesaj gönderen uğur alkan »

http://www.cis.rit.edu/class/simg782/images/GRID.png


yukarıdaki şekilde olduğu gibi bir bmp resmi gridlemek (biraz garip oldu :D ) ve gridlerin içini doldurmak istiyorum bunu nasıl yapabilirim acaba grid skalası sabit....
http://lanoie.com/free/Flash5Demo/Overv ... _grid2.gif aslında yapmak istediğim şey tam olarak bu....
Bazen sert rüzgarlar eser başını öne eğmekten asla korkma
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

TDrawGrid

Mesaj gönderen sabanakman »

Bunun için TDrawGrid bileşenini kullanabilirsin. Boyanacak satır ve sütun numaralarını iki boyutlu eşit büyüklükte bir dizide renk değerleirnin tutulduğunu varsayarsak bu bileşenin onDrawCell olayında bu boyama işlemini düzenleyebilirsin.

Kod: Tümünü seç

var RenkDizisi:array of array of TColor;

procedure TForm1.RenkleriAyarla;
var i,j:Integer;
begin
  SetLength(RenkDizisi, DrawGrid1.ColCount, DrawGrid1.RowCount);
//<-renklerin değerleri diziye alınır
  for i:=0 to DrawGrid1.ColCount-1 do
   for j:=0 to DrawGrid1.RowCount-1 do
    RenkDizisi[i,j]:=Random(clWhite);
//<-renklerin değerleri diziye alınır
  DrawGrid1.Refresh;
end;
böyle bir diziyi kullanmak için aşağıdaki kod kullanılabilir.

Kod: Tümünü seç

procedure TFormAna.DrawGrid1DrawCell(Sender: TObject; ACol,
  ARow: Integer; Rect: TRect; State: TGridDrawState);
begin
    DrawGrid1.Canvas.Brush.Color:=RenkDizisi[ACol,ARow];
    DrawGrid1.Canvas.Rectangle(Rect);
end;
Kolay gelsin.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Kullanıcı avatarı
uğur alkan
Üye
Mesajlar: 227
Kayıt: 29 Ağu 2004 04:49
Konum: Istanbul

Mesaj gönderen uğur alkan »

peki draw grid in arka planına resim yerleştirilebilirmi....?
Bazen sert rüzgarlar eser başını öne eğmekten asla korkma
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

DrawGid

Mesaj gönderen sabanakman »

O iş biraz zor ben birkaç deneme yaptım bulamadım. Eğer yapabilirsen sonucu buraya belirtirsen sevinirim. Kolay gelsin.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Cevapla