我将 Delphi7 与 KOL 组件和 JPegObj 一起使用。如何将 PBitmap 传输到 PJpeg?
var
MyBitmap : PBitMap;
MyJpeg : PJpeg;
begin
MyBitMap := ....;
MyJPeg.Bitmap.Assign (MyBitMap); // ===> Wrong?
MyJPeg.SaveToFile ('C:\test.jpg');
end;
谢谢你的帮助。
编辑:图片在这里:
编辑:我的代码:
program Project2;
{$APPTYPE CONSOLE}
uses
Kol,
JpegObj;
var
Jpeg: PJpeg;
Bitmap: PBitmap;
begin
Bitmap := NewBitmap(50, 50);
try
Bitmap.Canvas.Brush.Color := $0000FF80;
Bitmap.Canvas.Ellipse(0, 0, 50, 50);
Jpeg := NewJpeg;
try
Jpeg.Bitmap := Bitmap;
Jpeg.SaveToFile('test.jpg');
finally
Jpeg.Free;
end;
finally
Bitmap.Free;
end;
0041128E 处的运行时错误 216
编辑:我取消注释 JpegObj 中的行:
{$DEFINE VER62} // if you plan to use .obj-files from Delphi7 distributive only!
现在程序刚刚冻结。
编辑:程序在 JpegObj 中冻结
function __ftol: Integer;
var
f: double;
begin
asm
lea eax, f // BC++ passes floats on the FPU stack
fstp qword ptr [eax] // Delphi passes floats on the CPU stack
end;
Result := Integer(Trunc(f));
end;