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.