canvas

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
gulsahh
Üye
Mesajlar: 7
Kayıt: 11 Mar 2008 07:51

canvas

Mesaj gönderen gulsahh »

Kod: Tümünü seç

procedure TForm1.BitBtn3Click(Sender: TObject);
var
OldBkMode: integer;
begin
    Canvas.Font.Color := clBlue;
    OldBkMode         := SetBkMode(Canvas.Handle, Ord(TRANSPARENT));
    Canvas.Font.Size  :=form2.edit1.Font.Size;
     canvas.Font.Color:=form2.edit1.Font.Color;
     canvas.Font.Name:=form2.edit1.Font.Name;
    Canvas.TextOut(form2.spinedit1.value+a , form2.spinedit2.value+b, form2.edit1.Text);
      canvas.Font.Style:=form2.edit1.Font.Style;
    SetBkMode(Canvas.Handle, OldBkMode);
  end;
bi yazı yazdırıyorum bu şekilde ama resmi taşıdığımda o yazı kayboluyo ne yapabilirim :S:S
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: canvas

Mesaj gönderen sabanakman »

Canvas'a yapılan çizim, yazı gibi etkiler kalıcı değildir. Bunu kalıcı kılmak için onPaint olayına yazılmalı ki her tazeleme de gerekli çizimler gerçekleşsin. Bunun yerine TImage'a çizim yaparakta kalıcı çizim yapılabilir. Zira TImage'a yapılan çizimler hafızada tutulur ve programcıyı fazla yormaz.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Kullanıcı avatarı
CiTiZEN
Üye
Mesajlar: 1163
Kayıt: 06 Oca 2008 04:15

Re: canvas

Mesaj gönderen CiTiZEN »

Ayarlarınızı ini dosyalarda tutmayı denedınız mı tabiki sisteminiz uygun mu bilmiyorum ama sadece oneri kolay gelsın...
UWESIS CORPORATION
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: canvas

Mesaj gönderen sabanakman »

Olay tamamen ekran görüntüsü ile alakalı olup, kalıcılıktan kasıt forma yapılan çizimlerin görüntüde kalması kastediliyor. Forma yapılan çizimler de ilk refresh'te kaybolup giderler.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
gulsahh
Üye
Mesajlar: 7
Kayıt: 11 Mar 2008 07:51

Re: canvas

Mesaj gönderen gulsahh »

[
sabanakman yazdı:Canvas'a yapılan çizim, yazı gibi etkiler kalıcı değildir. Bunu kalıcı kılmak için onPaint olayına yazılmalı ki her tazeleme de gerekli çizimler gerçekleşsin. Bunun yerine TImage'a çizim yaparakta kalıcı çizim yapılabilir. Zira TImage'a yapılan çizimler hafızada tutulur ve programcıyı fazla yormaz.
on paint olayı nerde acaba :oops:
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: canvas

Mesaj gönderen sabanakman »

Formun onPaint olayı vardır. Form seçili iken (form üzerinde bir bileşen değil) özellikler penceresinde onShow, onClose v.s. gibi olaylar vardır. Bu olaylardan biri de onPaint'tir
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
gulsahh
Üye
Mesajlar: 7
Kayıt: 11 Mar 2008 07:51

Re: canvas

Mesaj gönderen gulsahh »

sabanakman yazdı:Formun onPaint olayı vardır. Form seçili iken (form üzerinde bir bileşen değil) özellikler penceresinde onShow, onClose v.s. gibi olaylar vardır. Bu olaylardan biri de onPaint'tir
saol ama on paint olayına mı yazıcam canvas die ama ben butona atamıştım herşeyi bi pencerede gösteriyodu tüm özellikleri kullanıcı ordan seçebiliyodu şimdi nasıl düzenlicem :S bilemiyorum
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: canvas

Mesaj gönderen sabanakman »

Nasıl bir yapı düzenledin bilmiyorum ama sen bunu onPaint olayına yaz ve formun onShow olayında onPaint:=nil ataması yap. Daha sonra butonun click olayında da onPaint:=FormPaint ataması yap. Bu uygulama sana yön verecektir diye umuyorum.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Cevapla