C
chenliyan163
Unregistered / Unconfirmed
GUEST, unregistred user!
下面是我DLL中的代码
library XWJDLL;
uses
SysUtils,Classes,Windows,Graphics,ExtCtrls,Dialogs;
type
TResFullCount = record
XRes:integer;
YRes:integer;
BmpRes:Tbitmap;
end;
function GetNinePlix(ScrImg: Tbitmap;x, y: integer): TResFullCount;stdcall;
var
BriefVal:TResFullCount;
BriefBmp:Tbitmap;
begin
BriefBmp:=Tbitmap.Create;
BriefBmp.Width:=ScrImg.Width;
BriefBmp.Height:=ScrImg.Height;
BriefBmp.Assign(scrimg);
BriefBmp.Canvas.Brush.Style:=bsClear;
BriefBmp.Canvas.pen.Color:=rgb(255,0,0);
BriefBmp.Canvas.MoveTo(x,0);
BriefBmp.Canvas.LineTo(x,ScrImg.Height);
BriefVal.BmpRes:=BriefBmp;
BriefVal.XRes:=1;
BriefVal.YRes:=1;
result:=BriefVal;
end;
//定义别名
exports
GetNinePlix name 'CJGetline';
{$R *.res}
begin
end.
当我在button事件中写这句话:GetNinePlix(Image1.Picture.Bitmap,10,10);
系统提示:Cannot saaign a TBitmap to a Tbitmap
这是为什么?
应该如何改?
我的目的是:把源图拷贝一份像画,一条线后返回给另一个图像
请各位帮帮忙,我已经是全部积分了
library XWJDLL;
uses
SysUtils,Classes,Windows,Graphics,ExtCtrls,Dialogs;
type
TResFullCount = record
XRes:integer;
YRes:integer;
BmpRes:Tbitmap;
end;
function GetNinePlix(ScrImg: Tbitmap;x, y: integer): TResFullCount;stdcall;
var
BriefVal:TResFullCount;
BriefBmp:Tbitmap;
begin
BriefBmp:=Tbitmap.Create;
BriefBmp.Width:=ScrImg.Width;
BriefBmp.Height:=ScrImg.Height;
BriefBmp.Assign(scrimg);
BriefBmp.Canvas.Brush.Style:=bsClear;
BriefBmp.Canvas.pen.Color:=rgb(255,0,0);
BriefBmp.Canvas.MoveTo(x,0);
BriefBmp.Canvas.LineTo(x,ScrImg.Height);
BriefVal.BmpRes:=BriefBmp;
BriefVal.XRes:=1;
BriefVal.YRes:=1;
result:=BriefVal;
end;
//定义别名
exports
GetNinePlix name 'CJGetline';
{$R *.res}
begin
end.
当我在button事件中写这句话:GetNinePlix(Image1.Picture.Bitmap,10,10);
系统提示:Cannot saaign a TBitmap to a Tbitmap
这是为什么?
应该如何改?
我的目的是:把源图拷贝一份像画,一条线后返回给另一个图像
请各位帮帮忙,我已经是全部积分了