Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi BitMap bearbeiten und laden in einer Variable (https://www.delphipraxis.net/101926-bitmap-bearbeiten-und-laden-einer-variable.html)

Desmulator 20. Okt 2007 17:28


BitMap bearbeiten und laden in einer Variable
 
Moin zusammen!

Also ich habe seit langer zeit das proggen wieder angefangen und arbeite ein einem MapEditor mit Tilesets, da kammen natürlich dirkt ein paar fragen auf.

Mein größtes problem ist atm das bearbeiten einer Bitmap.

Wie kann ich eine bmp datei in einer Variable laden, ohne Image-Komponent, sodass ich

Delphi-Quellcode:
var
 BitMap: TBitMap;

BitMap.LoadFromFile(..); //Die Datei laden kann
x := BitMap.Width; //Breite und höhe ermitteln kann

BitMap.Canvas.BrushCopy(); //Befehle benutzen kann
Ich glaube dass es eigendlich ziemlich einfach ist, aber dennoch zu hoch für mich :-(


MfG Desmu

Namenloser 20. Okt 2007 17:35

Re: BitMap bearbeiten und laden in einer Variable
 
Hallo!

Das einzige, was bei deinem Code fehlt ist ein
Delphi-Quellcode:
Bitmap := TBitmap.Create;
Ansonsten ist der Code imo völlig korrekt.

mkinzler 20. Okt 2007 17:37

Re: BitMap bearbeiten und laden in einer Variable
 
Wenn du jetzt noch eine Instanz der Bitmapklasse erzeugt, sollte das eigentlich gehen.

Desmulator 20. Okt 2007 18:20

Re: BitMap bearbeiten und laden in einer Variable
 
sehe ich das richtig, dass eine instanz das geleiche ist wie das

Delphi-Quellcode:
var
  Form1: TForm1;
ist?

also dann so

Delphi-Quellcode:
var
  Form1: TForm1;
  BitMap: TBitMap;
EDIT: Hats sich erledigt, so gehts!

mkinzler 20. Okt 2007 18:42

Re: BitMap bearbeiten und laden in einer Variable
 
Nein das ist eine Variable, die eine Instant referenziert.
Eine Instanz erzeugst du durch aufruf des Konstruktors der Klasse:

Delphi-Quellcode:
<InstanzVariable> := <Klasse>.Create(<Parameterliste>);

mimi 22. Okt 2007 13:50

Re: BitMap bearbeiten und laden in einer Variable
 
Wenn du das Sichtbar auf den Bildschrim bringen möchtest, brauchst du noch eine Weitere Komponenten:
entweder ein Panel(was am schnellsten ist) oder eine PaintBox oder ein TImage:
bitbtl(Paintbox1.canvas.handle,0,0,paintbox1.wi,pa intbox1.heig,Buffer.Canvas.Handle,0,0,srccopy);

musst du noch etwas anpassen z.b. das .wi und das .heig und evlt. handle oder aber auch bitbtl.....
Aber im Prinzip dürfte das so klappen.


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