Błąd w transparent przy kopiowaniu z ImageList do Image

0

Zawsze kiedy wstawiam na forme Image1 wiem ,że zmarnuje sporo czasu.........

 Ten kłopotliwy problem pomijają wszystkie publikacje o Delphi jakie posiadam
 a jest to zjawisko z jakim spotykamy się gdy trzeba coś szybko i sprawnie
 zrobić w grafice.

 Przykład:
 -na Form kładziemy Image1 oraz ImageList1 i Button
 -do ImageList wczytujemy jeden prosty plik BMP
 -pod Button umieszczamy przenoszenie grafiki z zastosowaniem funkcji transparent.
 Odpalamy i .............. oczywiście transparent nie działa a Image1 zmieniło tło na białe?

 Czy ktoś znalazł na to proste rozwiązanie?

Może coś przegapiłem w tym skomplikowanym kodzie:

 

procedure TForm1.Button1Click(Sender: TObject);
begin
     ImageList1.Draw(Image1.Canvas,0,0,0,True);
     Image1.Transparent:=True;
     Image1.Refresh;
end;

0
Image1.Picture.Bitmap.TransparentColor := Image1.Picture.Bitmap.Canvas.Pixels[0,0]; //albo 1, 1 - nie pamiętam
0

Delphi7 nie ma takiej właściwości jak: Image1.TransparentColor

0

Zapomnij o TImageList i transparentach jeśli korzystasz z Delphi < 2010/XE.
Najlepiej zainteresuj się TPngImageList, TPngImage - czyli ogólnie rzecz biorąc komponenty do obsługi PNG.

1 użytkowników online, w tym zalogowanych: 0, gości: 1