H
hxg
Unregistered / Unconfirmed
GUEST, unregistred user!
VC++的截图生成HBitmap句柄,需要由Delphi(Dll)来处理,输出为Bitmap文件。
但在传递HBitmap时失败报错。
据跟踪:vc++中Hbitmap的值为“0x60051049”,好象是指针,
而Delphi中Hbitmap的值为“1208290785”,是整数,所以Delphi中的
bitmap.handle:=hbmp; (//hbmp为vc中的hbitmap。)发生报错。
如何解决。
Delphi如果句柄获得成功,如何生成Bitmap文件。下面的代码可行吗?
谢谢!!!!!!
我的Delphi代码:
type
pJpegInfo=^TJpegInfo;
TJpegInfo=record
hbmp:HBitmap;
FileName:array[0..255] of char;
ImgQuality:integer;
end;
function HBitmapToJpeg(var AJpegInfo:TJpegInfo):boolean;stdcall;
implementation
function HBitmapToJpeg(var AJpegInfo:TJpegInfo):boolean;
var
bm : TBitmap;
strFileName : string;
begin
result := True;
try
bm := TBitmap.Create;
try
bm.HandleType:=bmDIB;
bm.Handle :=AJpegInfo.hbmp; ////‘报错了’
//,AJpegInfo在VC++中初始化的参数。
strFileName :=StrPas(AJpegInfo.FileName);
showmessage(strFileName);
bm.SaveToFile(strFileName);
except
bm.Free;
result := False;
end
finally
bm.Free;
end;
但在传递HBitmap时失败报错。
据跟踪:vc++中Hbitmap的值为“0x60051049”,好象是指针,
而Delphi中Hbitmap的值为“1208290785”,是整数,所以Delphi中的
bitmap.handle:=hbmp; (//hbmp为vc中的hbitmap。)发生报错。
如何解决。
Delphi如果句柄获得成功,如何生成Bitmap文件。下面的代码可行吗?
谢谢!!!!!!
我的Delphi代码:
type
pJpegInfo=^TJpegInfo;
TJpegInfo=record
hbmp:HBitmap;
FileName:array[0..255] of char;
ImgQuality:integer;
end;
function HBitmapToJpeg(var AJpegInfo:TJpegInfo):boolean;stdcall;
implementation
function HBitmapToJpeg(var AJpegInfo:TJpegInfo):boolean;
var
bm : TBitmap;
strFileName : string;
begin
result := True;
try
bm := TBitmap.Create;
try
bm.HandleType:=bmDIB;
bm.Handle :=AJpegInfo.hbmp; ////‘报错了’
//,AJpegInfo在VC++中初始化的参数。
strFileName :=StrPas(AJpegInfo.FileName);
showmessage(strFileName);
bm.SaveToFile(strFileName);
except
bm.Free;
result := False;
end
finally
bm.Free;
end;