Es gibt viele Methoden, ein Bitmap in ein Image oder in den Speicher zu laden, doch die schnellste Form ist, wenn das Bitmap vorher in einen Treiber konvertiert und geladen wird.
Das hat zwei große Vorteile, erstens ist es ultraschnell und zweitens, das Bild ist in einer Form geschützt, denn den Treiber wieder in ein Bitmap zurückkonvertieren, ohne den Bildinhalt zu kennen, ist sehr schwierig, oder eigentlich gar nicht möglich.
Zunächst mal muss der Treiber hergestellt werden.
Schritt 1:
Erstellt einen neuen Ordner und legt folgende Dateien an.
"Bilder_DE.dpr"
"Bilder_DE.rc"
Schritt 2:
Kopiert folgenden Code in die "Bilder_DE.dpr" Datei und speichert es.
library Bilder_DE;
{$R 'Bilder_DE.res' 'Bilder_DE.rc'}
//{$R *.res}
begin
end.
Schritt 3:
Kopiert folgenden Code in die "Bilder_DE.rc" Datei und speichert es.
Kopiert folgenden Code in die "Bilder_DE.rc" Datei und speichert es.
Die "Datei.bmp" ist das Bitmap, welches zu einem Treiber konvertiert werden soll, das natürlich im selben Ordner liegen muss.
Name BITMAP "datei.bmp"
Jetzt muss die "Bilder_DE.dpr" mit Delphi geöffnet und kompiliert werden.
Es wird der Treiber "Bilder_DE.dll" hergestellt.
Falls eine Fehlermeldung erscheinen sollte, kann sie einfach ignoriert werden, da die *.res Datei deaktiviert ist und nicht aktiviert werden darf, sonst funktioniert es nicht.
Nun haben wir das Bitmap als Treiber "Bilder_DE.dll" im Projektordner.
Schritt 5:
Schließt das Projekt und erstellt ein neues, welches ihr im selben Ordner speichert.
Schritt 6:
Ihr legt ein Image auf die Form und kopiert folgenden Code in die Unit rein.
var
DLLHandle: THandle;
//
procedure TForm1.Button1Click(Sender: TObject);
var bmp : TBitmap;
begin
bmp := TBitmap.Create;
try
DLLHandle := LoadLibrary('Bilder_DE.dll'); // Bitmap Treiber Laden
bmp.LoadFromResourceName(DLLHandle, 'Name');
Image1.Picture.Bitmap.Assign(bmp); // Bitmap in Image zeigen
finally
bmp.Free;
end;
end;
Keine Kommentare:
Kommentar veröffentlichen