![]() |
Benötige Icons bis 255x255 aus RES-Datei
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo liebe DP-Gemeinde,
nachdem ich festgestellt habe, daß das Laden von bis zu 255 x 255 großen ICO-dateien über LoadFromFile funktionierte, habe ich versucht, diese in eine Resourcendatei zu packen und aus dieser zu laden. Leider werden alle geladenen ICO-Größen nur im Format 32 x 32 angezeigt. Kurzes Beispiel dazu im Anhang: PIconSize-Test_2012_03_16.rar - 298,259 Bytes Meine Frage: Gibt es eine Möglichkeit, wie ich aus einer Res-Datei ein Icon anzeigen kann, das seine ursprüngliche Größe besitzt? Schöne Grüße aus Nürnberg, Manfred |
AW: Benötige Icons bis 255x255 aus RES-Datei
Delphi-Version?
|
AW: Benötige Icons bis 255x255 aus RES-Datei
Zitat:
|
AW: Benötige Icons bis 255x255 aus RES-Datei
Zitat:
|
AW: Benötige Icons bis 255x255 aus RES-Datei
Liste der Anhänge anzeigen (Anzahl: 2)
Zitat:
da ihr Ausschnitt keine rechteckigen Ränder zuläßt. Im PNG Format benötige ich zusätzliche Fremd-Komponenten wie Graph64, etc. Meine Frage, gibt es einen Trick, ICOs aus einer Delphi-RES Datei zu laden, die dann auch in Größe größer 32x32 Pixeln angezeigt werden können. In der RES Datei sind sie nämlich größer als besagte 32x32. Siehe dazu mein angehängtes Beispiel im ersten Post. Microsoft begrenzt in seinem OS alle ICOs auf 256x256: ![]() Mir würden schon 58x58 große Icons - aus einer RES-Datei genügen. Ein paar Bildchen zur Verständlichmachung angehängt. Schöne Grüße aus Nürnberg, Manfred |
AW: Benötige Icons bis 255x255 aus RES-Datei
Zitat:
Zitat:
Code:
und in Delphi entsprechend abrufen:
Icon01 BIN "Icon1.ico"
Delphi-Quellcode:
Nicht viel anders so sieht das Ganze bei Verwendung der Png-Lib aus:const cName = "Icon01"; var aIcon : TIcon; aResStream : TResourceStream; begin aResStream := TResourceStream.Create(HInstance, cName, 'BIN'); try aIcon := TIcon.Create; try aIcon.LoadFromStream(aResStream); finally aIcon.Free; end; finally aResStream.Free; end;
Code:
Icon01 PNG "Icon1.png"
Delphi-Quellcode:
const cName = "Icon01"; var aPng : TPngImage; aResStream : TResourceStream; begin aResStream := TResourceStream.Create(HInstance, cName, 'PNG'); try aPng := TPngImage.Create; try aPng.LoadFromStream(aResStream); DrawPNG(aPng, aCanvas, aCanvas.ClipRect, []); finally aPng .Free; end; finally aResStream.Free; end; |
AW: Benötige Icons bis 255x255 aus RES-Datei
Ich kann das Problem unter D2010 und XE nachvollziehen, woran es liegt kann ich nicht sagen.
Gegf. kannst Du eine Imagelist verwenden, hier giebt es zumindest bei mir keine Problem. Empfehlenswert wären aber IMHO PNG : ![]() |
AW: Benötige Icons bis 255x255 aus RES-Datei
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Hier noch einmal der Code:
Delphi-Quellcode:
Und die .rc:
procedure TForm31.FormShow(Sender: TObject);
var aIcon : TIcon; aStream : TResourceStream; begin aStream := TResourceStream.Create(HInstance, 'ICON1', 'BIN'); try aIcon := TIcon.Create; try aIcon.LoadFromStream(aStream); Image1.Picture.Assign(aIcon); finally aIcon.Free; end; finally aStream.Free; end;
Code:
Liegt das Icon1.ico in mehreren Auflösungen vor, dann wird nur ein 32x32-Bild angezeigt. Speichere ich dagegen nur die 256x256-Auflösung, wird's groß.
ICON1 BIN "Icon1.ico"
|
AW: Benötige Icons bis 255x255 aus RES-Datei
So ich habe jetzt etwas was funktioniert:
Delphi-Quellcode:
aIcon.Handle :=LoadImage(HInstance, MakeIntResource('RESICON128X128'), IMAGE_ICON, 128, 128, LR_DEFAULTCOLOR);
|
AW: Benötige Icons bis 255x255 aus RES-Datei
Genial, vielen, vielen Dank.
Das mit der RC-Datei und BRCC32.exe wußte ich zwar - irgendwo im Hinterkopf - habe es aber noch nicht ausprobiert. @Bummi und @neo4b und @alle ihr habt was bei mir gut - toll. Schöne Grüße aus Nürnberg, Manfred |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:09 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-2025 by Thomas Breitkreuz