this slowpoke moves

Build Bitmap Driver & load it

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. 
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"


Schritt 4: 
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

Beliebte Posts

Translate