![]() |
Icon Extract zu PNG
Hi,
ich weis es gibt sicher schon viele Themen dazu, aber ich bekomme es trotzdem einfach nicht auf die Reihe. Ich lade mir mit diesem Code:
Delphi-Quellcode:
das Icon in MyIcon.
Filter:=0;
MyIcon:=TIcon.Create; MyIcon.Transparent := True; MyIcon.Handle:=ExtractAssociatedIcon(hInstance, PChar('c:\windows\notepad.exe'), Filter); Image1.canvas.draw(0,0,MyIcon); ButtonPanel.Buttons.Items[i].Picture.Assign(Image1.Picture); Wie bekomme ich das nun zu PNG, damit die TRansparents nicht verloren geht? Der TMS-Button wo ich es nutzen will kann PNG. Jedoch habe ich immer Ränder herum (Transparents verloren) wenn ich MyIcon in ein TImage lade und dieses dann per Picture.Assign auf den Button lege. Wenn ich direkt ein PNG lade passt es mit der Transparent. Arbeite mit RAD 2009!! Danke! |
Re: Icon Extract zu PNG
Hi,
ich hoffe das ist was du suchst:
Delphi-Quellcode:
function IconFromFile(const Filename: String; IconNr: Word): HICON;
var buffer: array[0..2*MAX_PATH]of Char; begin StrPCopy(buffer, Filename); Result := ExtractAssociatedIcon(HInstance, buffer, IconNr); end; procedure TForm1.FormCreate(Sender: TObject); begin Image1.Picture.Icon.Handle := IconFromFile('C:\WINDOWS\NOTEPAD.EXE',0); end; |
Re: Icon Extract zu PNG
Danke, aber dann sieht das Icon so aus:
![]() ![]() Mit der funktion:
Delphi-Quellcode:
sieht es ganz gut aus:
function GetIconBitmap(MyIcon : TIcon): TBitmap;
var ABitmap: TBitmap; begin ABitmap := TBitmap.Create; ABitmap.width := 32; ABitmap.height := 32; ABitmap.PixelFormat := pf24bit; // um auch ggf. alle Farben richtig zu sehen // jeweiliger Ausgangspunkt: Ein Bitmap das du mit der clBtnFace-Color füllst ABitmap.Canvas.Brush.Color := clBtnFace; ABitmap.Canvas.FillRect(ABitmap.Canvas.ClipRect); // anschließend: Draufmalen der Icon DrawIconEx(ABitmap.Canvas.Handle,0,0,MyIcon.Handle,ABitmap.Width,ABitmap.Height,0,0,DI_NORMAL); // zum Schluss: Verknüpfen des Bitmaps mit der PopUp-Menuezeile Result := ABitmap; end; ![]() ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:21 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz