AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Icon Extract zu PNG

Ein Thema von schwa226 · begonnen am 5. Jul 2009 · letzter Beitrag vom 7. Jul 2009
Antwort Antwort
schwa226

Registriert seit: 4. Apr 2008
400 Beiträge
 
#1

Icon Extract zu PNG

  Alt 5. Jul 2009, 14:33
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:
            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);
das Icon in MyIcon.

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!
  Mit Zitat antworten Zitat
Benutzerbild von geskill
geskill

Registriert seit: 17. Feb 2007
Ort: NRW
420 Beiträge
 
Delphi 2010 Professional
 
#2

Re: Icon Extract zu PNG

  Alt 6. Jul 2009, 22:42
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;
Sebastian
  Mit Zitat antworten Zitat
schwa226

Registriert seit: 4. Apr 2008
400 Beiträge
 
#3

Re: Icon Extract zu PNG

  Alt 7. Jul 2009, 07:04
Danke, aber dann sieht das Icon so aus:

http://www.bilder-space.de/thumb/07....N410fJHEWC.JPG

Mit der funktion:
Delphi-Quellcode:
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;
sieht es ganz gut aus:
http://www.bilder-space.de/thumb/07....29UHm7uhzZ.JPG
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:43 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz