Canvas Poligon Seçme renk değiştirme

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
igny
Üye
Mesajlar: 54
Kayıt: 14 Mar 2008 04:03

Canvas Poligon Seçme renk değiştirme

Mesaj gönderen igny »

Merhaba Arkadaşlar
Bir form içine
Form1.Canvas.Polygon([Point(50,50),Point(50,150),Point(150,150),Point(150,50)]);
şekilde dikdörtgen çizdirdim.bunun içinede birtane daha çizdim
Form1.Canvas.Polygon([Point(55,55),Point(55,145),Point(145,145),Point(145,55)]);
bu çizimler i seçip mause sağ tuşu ile rengini değiştir demek isitorum
Shape panel vs ile kolay fakat cizilenler rasgele olacak yani didörtgen olayacak sürekli o yüzden polygon ile yapmam gerekli.
Yada bunun için bir component felan varmı biliğiniz.
Amamcım ölçüleri girilen şeklin çizimini yapmak .çizimler basit olacak mesela bir masa bir düz üst 2 bacak şeklinde ama rengi istediği gibi değiştirilebilir olacak

Bu nu nasıl yapabilirim
Kullanıcı avatarı
SimaWB
Üye
Mesajlar: 1316
Kayıt: 07 May 2009 10:42
Konum: İstanbul
İletişim:

Re: Canvas Poligon Seçme renk değiştirme

Mesaj gönderen SimaWB »

Şekiller çizilmeden önce renklerine karar verme şansınız varsa en kolay çözüm bu olur sizin için. Örnek:

Kod: Tümünü seç

Form1.Canvas.Brush.Color := clYellow;
Form1.Canvas.Polygon([Point(50,50),Point(50,150),Point(150,150),Point(150,50)]);
Form1.Canvas.Brush.Color := clRed;
Form1.Canvas.Polygon([Point(55,55),Point(55,145),Point(145,145),Point(145,55)]);
Çizimler yapıldıktan renkleri değiştirmek zorundaysanız formun OnMouseDown olayını değerlendirebilirsiniz. Buradan alacağınız X,Y koordinatlarının sizin çizdiğiniz Polygon'ların içinde olup olmadığı kontrol edilmeli(PtInRegion), ona göre ilgili poligon yeniden boyanmalı...
There's no place like 127.0.0.1
Kullanıcı avatarı
igny
Üye
Mesajlar: 54
Kayıt: 14 Mar 2008 04:03

Re: Canvas Poligon Seçme renk değiştirme

Mesaj gönderen igny »

Teşekkürler cevap için bulunduğum nokta da iç içe poligonlar var kesişiyorlar birbirleriyle o zaman karışmazmı
Kullanıcı avatarı
SimaWB
Üye
Mesajlar: 1316
Kayıt: 07 May 2009 10:42
Konum: İstanbul
İletişim:

Re: Canvas Poligon Seçme renk değiştirme

Mesaj gönderen SimaWB »

Sağ click'le boyama yapılacaksa en üstteki poligon boyanacak demektir. Dolayısıyla sizin daha önce çizdiğiniz poligonları bir listede tutmanız gerekir. Bu listeye en son eklenen poligon en üsttedir mantığıyla, seçilen bir noktanın hangi poligon içinde olduğunu anlamak için poligon listesine en son eklenenden, ilk eklenene doğru tarama yapmanız gerekir.
There's no place like 127.0.0.1
Cevapla