CAD控件:把网页显示的 dwg保存为jpg
控件文档]下面帮助的完整例子,在控件安装目录的Sample\Ie\ iedemo.htm中. 1. 主要用到的函数说明:A. MxDrawXCustomFunction::Mx_DrawToJpg把当前控件显示的DWG,任何一个给定区域转成jpg文件 。函数接口详细说明如下: static BOOL Mx_DrawToJpg(IN CString sJpgFilePath, IN double dLbx, IN double dLby, IN double dRtx, INdouble dRty, IN int iWidth = -1, IN int iHeight = -1, IN LONG* pBkColor = NULL);
参数说明
IN CString sJpgFilePathJpg文件名
IN double dLbx输出范围的左下角坐标X,文档坐标系统
IN double dLby输出范围的左下角坐标Y,文档坐标系统
IN double dRtx输出范围的右上角坐标X,文档坐标系统
IN double dRty输出范围的右上角坐标Y,文档坐标系统
IN int iWidth = -1位图宽度方向的像素,是-1并iHeight不是-1,由高度和文档高宽算出,否则取系统默认值:1000
IN int iHeight = -1位图高度方向的像素,是-1并iWidth不是-1, 由高度和文档高宽算出,否则取系统默认值:1000
IN LONG* pBkColor = NULL位图的背影色,如果为NULL,取黑色为背景色
hOcx当前控件名柄
2. JS中实现代码说明 用户点击 “保存显示区域到jpg” 按钮,将执行savejpg()函数function savejpg(){ //下面的DoCommand(2)调用程序将跳到DoCommandEventFunc(iCmd)执行 document.getElementByIdx_x("MxDrawXCtrl").DoCommand(2);} function WriteJpg(obj){ // 得到控件对象。 var axMxDrawX = document.getElementByIdx_x(obj); // 得到当前视区显示的范围. var viewBound = axMxDrawX.CallCustomFunction("Mx_GetViewCoord",""); // 计算出保存的jpg的宽,高. var jpgWidth = viewBound.AtDouble(3) - viewBound.AtDouble(1); var jpgHeight = viewBound.AtDouble(4) - viewBound.AtDouble(2); // 把jpg的宽度、高度,由文档坐标变成象素坐标. var jpgWidth = axMxDrawX.CallCustomFunctionDoubleParam1("Mx_DocLongToViewCoord",jpgWidth); jpgWidth = jpgWidth.AtLong(1); var jpgHeight = axMxDrawX.CallCustomFunctionDoubleParam1("Mx_DocLongToViewCoord",jpgHeight); jpgHeight = jpgHeight.AtLong(1); // 创建一个参数对象. var savejpgParam =axMxDrawX.CallCustomFunction("Mx_NewResbuf",""); // 设置保存提jpg文件的位置,默认保存到c:\\1.jpg savejpgParam.AddString("c:\\1.jpg"); // 输入到jpg文件的图纸范围,就是当前视能看到范围 savejpgParam.AddDouble(viewBound.AtDouble(1)); savejpgParam.AddDouble(viewBound.AtDouble(2)); savejpgParam.AddDouble(viewBound.AtDouble(3)); savejpgParam.AddDouble(viewBound.AtDouble(4)); // jpg文件的宽高. savejpgParam.AddLong(jpgWidth); savejpgParam.AddLong(jpgHeight); // 调用保存jpg函数. var ret = axMxDrawX.CallCustomFunctionEx("Mx_DrawToJpg",savejpgParam); if(ret.AtString(0) == "Ok") { alert("成功把当前显示内容保存为jpg,文件保存在c:\\1.jpg"); } else { alert("保存失败.,可能C盘根目录没有写的权限,更改一下程序里保存位置"); }}
谢谢无私分享,请给我一份用用! 这看起来很复杂啊! 很复杂,看的头都疼啊,哈哈 很高大上的样纸... chenhaijunsjy 发表于 2015-7-1 07:59
谢谢无私分享,请给我一份用用!
联系QQ:710714273 奔驰的骏马 发表于 2015-7-8 00:25
这看起来很复杂啊!
不复杂的,有意向联系QQ:710714273 wmm598 发表于 2017-3-11 15:40
很复杂,看的头都疼啊,哈哈
不复杂,可联系QQ:710714273 笑笑_dwNsS 发表于 2017-3-14 08:15
很高大上的样纸...
过奖,可以登陆官网www.mxdraw.com详细了解
页:
[1]