PNGImage AlphaScanline

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
anonymousdelphicoder
Üye
Mesajlar: 152
Kayıt: 16 May 2014 11:23

PNGImage AlphaScanline

Mesaj gönderen anonymousdelphicoder »

Merhabalar Ben pngimage ile ilgili bir sorun yasıyorum sorunum şu

Kod: Tümünü seç

Grap := TPngImage.Create;
Grap.LoadFromFile('C:\sadece.png');

    for I := 0 to Grap.Height-1 do
    begin
A := Grap.AlphaScanline[I];
      for J := 0 to Grap.Width -1 do
      begin
              A[J] := 120;
      end;
end;
herhangi bir png dosyasını Load ettiğimde AlphaScanLine ile Alpha değerini değiştirip şeffaflık katabiliyorum fakat şöyle düşünün içi transparent yani Alpha full sıfır olan kare çizdiğinizi veya karmaşık motifler olduğunu düşününün böyle bir PNG dosyasında Alpha işe yarıyor fakat full sıfır Alpha yani transparan olan yerleride ele alıyor ve çizim olmayan yerlere siyah rengini dahil ediyor. bu sorunu aşamadım PNG dosyasında çizim olmayan yerlere dokunmaması lazım bunun için döngü boyunca gelen Alpha değerini kontrol ettim değer hep 255 örneğin PNG resmimde 0,10 (y,x) de çizim yok Alpha sıfır gelse if Alpha <> 0 then komutunu yazıp oraya dokunmadan durumdan kurtulucam fakat nerde çizimin olup olmadığını da algılayamıyorum.

Not: PNG deki ScanLine methodunuda denedim sonuc alamadım.
yalnızca PNG sınıfı kullanarak yapmam gerekli bitmap vs değil

şimdiden çok teşekkür ederim
Cevapla