Hej
mam problem ze zmianą rozmiaru zdjęcia tak aby zachować przezroczyste tło. Plik mam w formacie PNG. Kiedy zmienię rozmiar zdjęcia, przezroczyste tło staje się czarne. Googlowałem ale nie mogę znaleźć działającego rozwiązania, które korzystałoby ze standardowych bibliotek.
Robię to w ten sposób:
var
img1,img2:TPortableNetworkGraphic;
begin
img1:=TPortableNetworkGraphic.Create();
img1.LoadFromFile('C:\pika.png');
img2:=TPortableNetworkGraphic.Create();
img2.Width:=100;
img2.Height:=100;
img2.Canvas.StretchDraw(RECT(0,0,img2.Width,img2.Height), img1);
PaintBox1.Canvas.Draw(0,0,img1);
PaintBox1.Canvas.Draw(250,0,img2);
end;
W efekcie otrzymuję:
Dodatkowo spada strasznie jakość. Czy możecie mi podpowiedzieć jak to ogarnąć albo zaproponować inne rozwiązanie ? Chciałbym nie korzystać z dodatkowych bibliotek a ogarnąć najprościej jak się da.
Nie zależy mi na tym żeby zdjęcie zapisać tylko wyświetlić na TPaintBox.
Proszę o pomoc:)