1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
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;
|