Einzelnen Beitrag anzeigen

vbinsider

Registriert seit: 26. Dez 2003
Ort: Würselen
11 Beiträge
 
Delphi 7 Professional
 
#1

Auf Pixel mit Pointer zugreifen

  Alt 27. Mai 2004, 20:17
Hi Leute,

ich möchte mit der Scanline-Eigenschaft auf die einzelnen Pixel eines Bitmaps zugreifen. Ich hab dazu den folgenden Quellcode verwendet

Delphi-Quellcode:
var BMPData : TBitmap;
    BMPPixel : PRGBArray;
    Written : Boolean;
    x,y : integer;
begin

.
.
.

  BMPData.LoadFromFile(BMPFile); // BMPFile wird vorher mit einem OpenDialog eingelesen
  BMPData.PixelFormat:= pf24Bit;

.
.
.

  Written:= True;
  for y:= 0 to BMPData.Height-1 do
  begin
    BMPPixel:= BMPData.ScanLine[y];
    for x:= 0 to BMPData.Width-1 do
    begin
      If Written Then
      begin
        Pixel.Red:= BMPPixel^[x].rgbtRed;
        Pixel.Green:= BMPPixel^[x].rgbtGreen;
        Pixel.Blue:= BMPPixel^[x].rgbtBlue;

        Pixel.count:= 1;
        Written:= False;
      end

.
.
.
Aber sobald ich versuche, auf das Array BMPPixel zuzugreifen, kriege ich einen Speicherzugriffsfehler.

Bitte helft mir!

mfg
vbinsider
Ein Atomkrieg am Morgen kann einem den ganzen Tag versauen.
  Mit Zitat antworten Zitat