timage'in canvas ile çizilenleri temizlemek

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
mkysoft
Kıdemli Üye
Mesajlar: 3110
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

timage'in canvas ile çizilenleri temizlemek

Mesaj gönderen mkysoft »

timage nesnesinin canvas'ına çizdirdiğim şeyleri temizlemek istiyorum. nasıl yapılacağını bulamadım. teşekkürler
aLonE CoDeR
Kıdemli Üye
Mesajlar: 1223
Kayıt: 26 Nis 2005 04:08

Mesaj gönderen aLonE CoDeR »

Merhaba.
Temizlemekten kasıt nedir?Örneğin bi resmin üzerine çizdirdiğiniz şeyleri geri almak gibi bir şey mi yoksa imageyi komple temizlemek gibi mi?
mkysoft
Kıdemli Üye
Mesajlar: 3110
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Mesaj gönderen mkysoft »

içinde resim yokken yada varkende üzerine çizilen şeyleri silmeyi kasdettim. internette aradım yok sanırım. resmi yeniden yüklemişler yada beyaz kutu çizmişler alana. bende öyle yaptım mecburen :cry:
Kullanıcı avatarı
undefined
Moderator
Mesajlar: 565
Kayıt: 06 Eki 2003 12:01
Konum: Bursa
İletişim:

Mesaj gönderen undefined »

Önceden bende düşünmüştüm bunu. Canvas.clear diye bişey olmaması normal. Sen şimdi temizleme olayından gerçek hayata kıyas yaparak canvasın heryerinin beyaz olmasını zannediyorsun herhalde. Ama beyazda bir renk ve canvasın hafızasına bir şekilde kodlanıyor. Onun için canvasa beyaz kutu çizdirmek normal bir çözüm...
aLonE CoDeR
Kıdemli Üye
Mesajlar: 1223
Kayıt: 26 Nis 2005 04:08

Mesaj gönderen aLonE CoDeR »

Tekrar merhaba.
Sanırım kasdettiğiniz olay "Corel", "PhotoShop" programlarında olduğu gibi (Hareketin) "Undo" seçeneği..Ancak bu tür programlarda çizim olayı nesne olarak algılanıyor (genel mantık olarak)..O nedenle olayın "Canvas"'la ilgisi yok..Bu noktada illaki böyle bir şey kullanmak isterseniz "PhotoShop"'ta olduğu gibi resmin son halini capture edip saklamak sanırım çözüm olabilir..
Kolay gelsin.
ibr_ozdemir
Üye
Mesajlar: 25
Kayıt: 27 Nis 2005 02:09

Mesaj gönderen ibr_ozdemir »

evet haklısın resmin son hali saklanmalı ama rem de çok yer tuttğu için sınırlı olmalı (galiba mspaintin en fazla 3 kez geri almasının nedeni bu :) )

ayrıca sorundan anladığım kadarıyla paint tarzı bişe yapmak istiyosun
imagein üzerin başka image ler bindirerek veya birkaç her hamle için bitmap biriktirerek şekillerin tersini alabilir renklerini ters çevirebilirsin vs.vs. hemde bunu yaparken arkadaki resimler etkilenmez photoshop katmanları gibi olur
biraz üçtum galiba :oops: neyse kolay gelsin
Kullanıcı avatarı
Query
Üye
Mesajlar: 363
Kayıt: 29 Ara 2003 05:13

Mesaj gönderen Query »

Eğer kastın arkadaşların dediği gibi undo değilse image alanı aşağıdaki kodla temizlenir.

Kod: Tümünü seç

image1.Canvas.FillRect(image1.ClientRect)
eğer önceden belirtilmediyse standart beyazdır.

Kod: Tümünü seç

image1.Canvas.Brush.Color := clRed
dersen kırmızıya boyar.
Cevapla