Hi all
I develop simple function to save a Bitmap to MemoryStream and send it as ByteArray to java application like below .
function JavaBitmap(PEnv: PJNIEnv; Obj: JObject):jbyteArray;
var
MemStr:TMemoryStream;
Bmp:TBitmap;
Bytes:Array of Byte;
begin
MemStr:=TMemoryStream.Create;
Bmp:=TBitmap.Create;
Bmp.Width:=1024;
Bmp.Height:=1024;
Bmp.Canvas.Brush.Color:=clBlack;
Bmp.Canvas.FillRect(0,0,1024,1024);
Bmp.SaveToStream(MemStr);
Bmp.Free;
MemStr.Position:=0;
SetLength(Bytes,MemStr.Size);
MemStr.Read(Bytes[0],MemStr.Size);
Result:=PEnv^^.NewByteArray(PEnv,MemStr.Size);
PEnv^^.SetByteArrayRegion(PEnv,Result,0,Length(Bytes),@Bytes[0]);
SetLength(Bytes,0);
MemStr.Free;
end;