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
neo4a

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

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
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 19:50 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