Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Library: Grafik / Sound / Multimedia (https://www.delphipraxis.net/21-library-grafik-sound-multimedia/)
-   -   Prism Laden eines Bitmaps aus einer .NET Resource (https://www.delphipraxis.net/14368-laden-eines-bitmaps-aus-einer-net-resource.html)

sakura 7. Jan 2004 22:13


Laden eines Bitmaps aus einer .NET Resource
 
Ich bin zur Zeit wieder mal am Experten. Da dieser natürlich auch im Borland Developer Studio, sprich Delphi 8 for the Microsoft .NET Framework und C#Builder verfügbar sein soll, bin ich zur Zeit auf Erkundungstour.

Zum Laden muss die Resource verfügbar sein. Sobald ich nähere Informationen zum Erstellen dieser habe, werde ich dieses separat posten ;-)

In meinem Beispiel ist in der Resource-Datei BdsResource.ResX die Resource bmpSize24 vom Typ System.Drawing.Bitmap hinterlegt. Der Name der Resourcedatei (ohne Endung!) wird dem Create-Ereignis des ResourceManager übergeben. Zusätzlich auch das Assembly, welches die Resource speichert. In unterem Beispiel die eigene EXE/DLL.

Anschließend wird die Resource geladen und ist als Object (hier vom Typ System.Drawing.Bitmap) verfügbar.

Delphi-Quellcode:
uses
  System.Reflection,
  System.Drawing,
  System.Resources;

procedure TBDSExpert.CreateSplashScreenService;
var
  Bmp: System.Drawing.Bitmap;
  TheAssembly: System.Reflection.Assembly;
  TheResourceManager: System.Resources.ResourceManager;
begin
  TheAssembly := GetType().Assembly;
  try
    TheResourceManager := System.Resources.ResourceManager.Create(
        'BdsResource', TheAssembly);
    try
      Bmp := System.Drawing.Bitmap(TheResourceManager.GetObject('bmpSize24'));
      try
        // das bitmap ist jetzt für alle Aktivitäten verfügbar...
      finally
        Bmp.Free;
      end;
    finally
      TheResourceManager.Free;
    end;
  finally
    TheAssembly.Free;
  end;
end;
...:cat:...


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:09 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