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