procedure TForm1.Button1Click(Sender: TObject);
var
pRet: MxDrawResbuf;
h, w: double;
ptMin : IMxDrawPoint;
ptMax : IMxDrawPoint;
ptOle : OleVariant;
begin
if dlgSave1.Execute then
begin
pRet := MxDrawResbuf(MxDrawX1.Call('Mx_GetMcDbDatabaseBound', ''));
if pRet.AtString(0) = 'Ok' then
begin
ptMin := CoMxDrawPoint.Create();
ptMin.Set_x(pRet.AtDouble(1));
ptMin.Set_y(pRet.AtDouble(2));
ptOle := MxDrawX1.DocToViewCoord(ptMin);
ptMin:=IMxDrawPoint(IDisPatch(ptOle));
ptMax := CoMxDrawPoint.Create();
ptMax.Set_x(pRet.AtDouble(3));
ptMax.Set_y(pRet.AtDouble(4));
ptOle := MxDrawX1.DocToViewCoord(ptMax);
ptMax:=IMxDrawPoint(IDisPatch(ptOle));
MxDrawX1.ViewColor := clWhite;
w := ptMax.Get_x();
w := w - ptMin.Get_x() + 1;
h := ptMax.Get_y();
h := ptMin.Get_y() - h + 1;
if not MxDrawX1.SaveJpgFile(dlgSave1.FileName, Round(w), Round(h),0) then
Showmessage('失败')
else
Showmessage('成功');
end;
end;
end;