Hallo!
@Xong
Das funktioniert so nicht, "Record oder Array notwendig". "Die Pointer und Ich".
Wenn ich wenigstens wüsste, was mit den Zeilen bezweckt werden soll.
Vielleicht noch ein Zusatz .
Die Variable Image ist so zugewiesen.
image= ( BYTE *)malloc(bufferlength );
Die aufrufende c-Funktion ist so definiert.
Code:
bool ImageReq( HCAMERA ULONG,BYTE *image,DWORD bufferlength );
Argument
HCAMERA
Handle value of a camera in which an image is acquired
BYTE *pBuf Pointer of the place where image data is stored
DWORD bufferlength Image data buffer length
function ImageReq(HCAMERA : ULONG;image : PByte; bufferlength : DWord):bool;stdcall;
@SirThornberry
Danke für den Ansatz :
Delphi-Quellcode:
function SaveBitmapFile(filename : PChar, image : PByte,width : DWord, height : dword): integer;
var
p : array of byte;
x,y : integer;
bitm : TBitmap;
row : PByteArray;
begin
bitm := TBitmap.Create;
bitm.Width := Width;
bitm.Height := Height;
try
for y:= 0 to heigth-1 do
begin
row := PByteArray(bitm.Scanline[y]);
move(image,row,....); // Size?
end;
finally
bitm.Free;
end;
....
end;
Irgendwo habe ich doch einen grundlegenden Denkfehler gemacht. Nur wo sprach Zeus?
samstägliche Grüße!