AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Benötige Icons bis 255x255 aus RES-Datei
Thema durchsuchen
Ansicht
Themen-Optionen

Benötige Icons bis 255x255 aus RES-Datei

Ein Thema von mz23 · begonnen am 16. Mär 2012 · letzter Beitrag vom 18. Mär 2012
Antwort Antwort
Seite 1 von 2  1 2      
mz23
(Gast)

n/a Beiträge
 
#1

Benötige Icons bis 255x255 aus RES-Datei

  Alt 16. Mär 2012, 11:31
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
Angehängte Dateien
Dateityp: rar PIconSize-Test_2012_03_16.rar (291,3 KB, 12x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.008 Beiträge
 
Delphi 12 Athens
 
#2

AW: Benötige Icons bis 255x255 aus RES-Datei

  Alt 16. Mär 2012, 12:33
Delphi-Version?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von cookie22
cookie22

Registriert seit: 28. Jun 2006
Ort: Düsseldorf
936 Beiträge
 
Delphi XE2 Professional
 
#3

AW: Benötige Icons bis 255x255 aus RES-Datei

  Alt 16. Mär 2012, 17:45
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
Warum benutzt du denn .ico Dateien in deinem Programm. Wandel Sie doch einfach in PNG oder BMP um.
Gruß
Cookie
  Mit Zitat antworten Zitat
mz23
(Gast)

n/a Beiträge
 
#4

AW: Benötige Icons bis 255x255 aus RES-Datei

  Alt 17. Mär 2012, 06:03
Delphi-Version?
Delphi 2005 - Sorry, werde ich gleich im Profil eintragen
  Mit Zitat antworten Zitat
mz23
(Gast)

n/a Beiträge
 
#5

AW: Benötige Icons bis 255x255 aus RES-Datei

  Alt 17. Mär 2012, 06:19
Zitat:

Warum benutzt du denn .ico Dateien in deinem Programm. Wandel Sie doch einfach in PNG oder BMP um.
Es ist so, daß ich durchsichtige (transparente) Bildchen benötige,
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:

http://msdn.microsoft.com/en-us/libr.../aa511280.aspx

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
Miniaturansicht angehängter Grafiken
themes-2012_03_17.jpg   themes-2012_03_17-subdir-icons.jpg  
  Mit Zitat antworten Zitat
neo4a

Registriert seit: 22. Jan 2007
Ort: Ingolstadt
362 Beiträge
 
Delphi XE2 Architect
 
#6

AW: Benötige Icons bis 255x255 aus RES-Datei

  Alt 17. Mär 2012, 06:55
Es ist so, daß ich durchsichtige (transparente) Bildchen benötige,
da ihr Ausschnitt keine rechteckigen Ränder zuläßt.

Im PNG Format benötige ich zusätzliche Fremd-Komponenten wie Graph64,
etc.
PngImagelist ist trotzdem einen 2. Blick wert, da diese kleine Lib u.a. direkt als ImageList-Ersatz verwendet werden kann. Die Qualität der Darstellung/ des Zeichnens ist augenscheinlich besser als die der Standard-Komponente, weil sie besser mit der Semitranzparenz umgeht (Du kennst sicher die "Ausfransungen" an den Grafik-Rändern?). Die Lib ist Open Source, hat gerade 4 Komponenten und unterstützt alle relevanten Delphi-Versionen. Geradezu ideal für solche Einsatzfälle wie in Deinem Screenshot zu sehen.

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.
Du kannst die ICO ja auch als RCData oder BIN in Deiner .rc-Datei speichern:
Code:
Icon01 BIN "Icon1.ico"
und in Delphi entsprechend abrufen:
Delphi-Quellcode:
  
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;
Nicht viel anders so sieht das Ganze bei Verwendung der Png-Lib aus:
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;
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#7

AW: Benötige Icons bis 255x255 aus RES-Datei

  Alt 17. Mär 2012, 06:58
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 : http://www.torry.net/authorsmore.php?id=6929
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
neo4a

Registriert seit: 22. Jan 2007
Ort: Ingolstadt
362 Beiträge
 
Delphi XE2 Architect
 
#8

AW: Benötige Icons bis 255x255 aus RES-Datei

  Alt 17. Mär 2012, 07:27
Ich kann das Problem unter D2010 und XE nachvollziehen, woran es liegt kann ich nicht sagen.
Ich zumindest teilweise

Hier noch einmal der Code:
Delphi-Quellcode:
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;
Und die .rc:
Code:
ICON1 BIN "Icon1.ico"
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ß.
Angehängte Dateien
Dateityp: rar Icon256.rar (35,0 KB, 6x aufgerufen)
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#9

AW: Benötige Icons bis 255x255 aus RES-Datei

  Alt 17. Mär 2012, 08:20
So ich habe jetzt etwas was funktioniert:
   aIcon.Handle :=LoadImage(HInstance, MakeIntResource('RESICON128X128'), IMAGE_ICON, 128, 128, LR_DEFAULTCOLOR);
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
mz23
(Gast)

n/a Beiträge
 
#10

AW: Benötige Icons bis 255x255 aus RES-Datei

  Alt 17. Mär 2012, 10:52
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
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 13:11 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