How to convert icon to png with alpha transparency in delphi?

前端 未结 3 952
萌比男神i
萌比男神i 2021-02-09 10:15

The code below will extract icon from file and convert it to png but without alpha transparency ?

var
   IconIndex : word;
   icon:TIcon;
   png:TPngImage;
   bm         


        
相关标签:
3条回答
  • 2021-02-09 10:45

    I found some libraries like PNG Delphi and Delphi PNG and MNG libraries after Googling.

    0 讨论(0)
  • 2021-02-09 10:50

    The PngComponents contain a unit PngFunctions.pas, where you can have a look at

    procedure ConvertToPNG(Source: TGraphic; out Dest: TPngImage);

    There you can find the code to convert a TIcon into a TPngImage - or just use that procedure.

    0 讨论(0)
  • 2021-02-09 11:03

    Although TPngImage is no longer open source, if I take a quick look in an old copy I have lying around here, TPngImage.Assign only checks if the source is a TPngImage, and if not lets the 'default' assign do it's work, and for TBitmap or TGraphic, this will most probably use a plain draw on the canvas which throws away the transparency.

    This looks like something to post on Delphi QC

    0 讨论(0)
提交回复
热议问题