TImage Bitmap aus dem Arbeitsspeicher laden und anzeigen

Rund um die LCL und andere Komponenten
Antworten
br_klaus
Beiträge: 244
Registriert: Do 21. Jan 2010, 22:33
OS, Lazarus, FPC: Windows Vista (L 0.9.31 FPC 2.5.1)
CPU-Target: 32Bit
Wohnort: z.z. Brasilien, sonst 82335 Berg-Leoni (südlich von München)

TImage Bitmap aus dem Arbeitsspeicher laden und anzeigen

Beitrag von br_klaus »

Hallo,
ich bin noch ein ziemlicher Anfänger in FreePascal.
Möchte ein Programm erstellen, das Bilddateien aus einem Verzeichnis lädt und auf einer Timage anzeigt (das geht inzwischen schon). Dann aber möchte ich diese Bilddaten (Pixel) im Speicher ändern (mit der Unit FreeImage) und diese Änderungen auf einer zweiten Timage anzeigen lassen.
Leider finde ich keine Möglickeit, direkt aus dem Arbeitsspeicher die Bilddaten zu laden, um sie anzuzeigen. Wahrscheinlich ginge es mit Streams, aber da kenne ich mich überhaupt nicht aus.
Wenn mri da einer helfen könnte, wäre ich sehr dankbar.

Außerdem würde ich gerne mit der Maus ein (rechteckiges) Auswahlfenster erstellen, das man auf das TImage legt, so daß man dann diese Auswahl in der zweiten TImage (als Zoom vergrößert) anzeigen kann. Wie macht man so etwas?
Herzlichen Dank für alle Hilfe.

Benutzeravatar
theo
Beiträge: 10904
Registriert: Mo 11. Sep 2006, 19:01

Re: TImage Bitmap aus dem Arbeitsspeicher laden und anzeigen

Beitrag von theo »

Das schon gelesen?

http://wiki.lazarus.freepascal.org/Deve ... raphics/de" onclick="window.open(this.href);return false;

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Re: TImage Bitmap aus dem Arbeitsspeicher laden und anzeigen

Beitrag von Euklid »

Hallo Klaus,

einzelne Pixel verändern kann man mit Pixels: http://lazarus-ccr.sourceforge.net/docs ... ixels.html" onclick="window.open(this.href);return false;
Die rechteckige Auswahl auf ein anderes Image vergrößern kann man mit Stretchdraw: http://lazarus-ccr.sourceforge.net/docs ... hdraw.html" onclick="window.open(this.href);return false;

Ich hoffe, die beiden Befehle helfen Dir weiter!

Viele Grüße

Euklid

Antworten