在CAD操作过程中,我们在设计绘图时,光栅图像也就是我们常说的图片,应用非常广泛,在CAD中可以直接插入光栅图像,并且可以对光栅图像进行裁剪、透明度调整等一些操作,在网页可以快速实现我们所需功能。
一、设置背景图片
1、把图片作为背景图片可见但是不能编辑操作。
2、主要用到函数说明:_DMxDrawX::DrawImageToBackground
绘光栅图到背景。详细说明如下:
参数 | 说明 |
---|---|
BSTR sFileName |
光栅图文件.DWGBMPJPG文件路径 |
LONG lLeftUpX |
栅图显示的在控件视区显示的左上角位置X,视区窗口坐标 |
LONG lLeftUpY |
栅图显示的在控件视区显示的左上角位置Y,视区窗口坐标 |
3、c#中实现代码说明:
|
4、js中实现代码说明:
|
二、插入图片
1、在设计绘图时,需要插入外部图片,可以设置图片的缩放比例、旋转角度、图片显示文件名等属性。
2、主要用到函数说明:_DMxDrawX::DrawImageMark
绘图制一个图象标记对象。详细说明如下:
参数 | 说明 |
---|---|
DOUBLE dPosX |
绘制位置,是图片的中心点X |
DOUBLE dPosY |
绘制位置,是图片的中心点y |
DOUBLE dScale |
缩放比例,如果输入负数时,表示图片随视区大小缩放,负数的决对值表示图片的高度,图片宽度自动计算 |
DOUBLE dAng |
图片旋转角度 |
BSTR pszFileName |
图片显示文件名 |
BSTR pszTwinkeImageFiles |
闪烁时使用的ImageFile.,设置该文件后,调用MxDraw::TwinkeEnt后将交替闪烁显示。 可以同时设置多个闪烁文件,文件间用逗号隔开,比如: 1.jgp,2.jpg,3.jpg |
VARIANT_BOOL isSaveData |
图片数据,是否随图保存 |
3、c#中实现代码说明:
|
4、js中实现代码说明:
|
三、替换图片
1、主要用到函数说明:IMxDrawImageMark::ImageFile
图片文件路径。
2、c#中实现代码说明:
|
3、js中实现代码说明:
|
四、旋转图片
1、主要用到函数说明:
(1)_DMxDrawX::ZoomAll
把当前图形中的所有实体都放到视区中。
(2)_DMxDrawX::NewPoint
新创建IMxDrawPoint对象。
(3)IMxDrawEntity::Rotate
旋转一个对象。详细说明如下:
参数 | 说明 |
---|---|
[in] IMxDrawPoint* basePoint |
旋转基点 |
[in] DOUBLE dRotationAngle |
旋转角度 |
2、c#中实现代码说明:
|
3、js中实现代码说明:
|
五、保存为各种格式
1、主要用到函数说明:_DMxDrawX::SaveDwgFile
保存当前图。详细说明如下:
参数 | 说明 |
---|---|
BSTR pFileName |
保存的DWG文件绝对路径,如果扩展名为DXF文件,则保存为DXF文件. 扩展名为DWF文件,则保存为DWF文件, 扩展名为PDF文件,则保存为PDF文件,默认宽高210,297 扩展名为JPG文件,则保存为JPG文件,默认宽高1000,1000 扩展名为BMP文件,则保存为BMP文件,默认宽高1000,1000 |
2、c#中实现代码说明:
|
3、js中实现代码说明:
|
六、设置水印
1、主要用到函数说明:
(1)_DMxDrawX::Watermark
设置控件水印图片显示,字符串用逗号隔开,分为: “文件名,透明度,x方向距离,y方向距离,是否居中”, 是否居中0代表在上角定位,1表示自动居中.默认为居中,透明度为50。
(2)_DMxDrawX::ViewColor
控件视区的背景颜色。
2、c#中实现代码说明:
|
3、js中实现代码说明:
|
七、制作动画
1、主要用到函数说明:
(1)_DMxDrawX::DrawImageMark
绘图制一个图象标记对象。详细说明如下:
参数 | 说明 |
---|---|
BSTR pszName |
图层名 |
DOUBLE dPosX |
绘制位置,是图片的中心点X |
DOUBLE dPosY |
绘制位置,是图片的中心点y |
DOUBLE dScale |
缩放比例,如果输入负数时,表示图片随视区大小缩放,负数的决对值表示图片的高度,图片宽度自动计算 |
DOUBLE dAng |
图片旋转角度 |
BSTR pszFileName |
图片显示文件名 |
BSTR pszTwinkeImageFiles |
闪烁时使用的ImageFile.,设置该文件后,调用MxDraw::TwinkeEnt后将交替闪烁显示。 可以同时设置多个闪烁文件,文件间用逗号隔开,比如: 1.jgp,2.jpg,3.jpg |
VARIANT_BOOL isSaveData |
图片数据,是否随图保存 |
(2)MxDraw::TwinkeEnt
闪烁实体。详细说明如下:
参数 | 说明 |
---|---|
McDbObjectId id |
被闪烁的实体对象id |
long lCount = -1 |
闪烁次数,默认为-1表示不限闪烁次数 |
2、c#中实现代码说明:
|
3、js中实现代码说明:
|
八、绘制光栅图形
1、在设计绘图时,绘制光栅图形,可以设置其的缩放比例、旋转角度等属性。
2、主要用到函数说明:_DMxDrawX::DrawImage
绘制光栅图形。详细说明如下:
参数 | 说明 |
---|---|
DOUBLE dPosX |
插入点的X坐标 |
DOUBLE dPosY |
插入点的Y坐标 |
DOUBLE dScale |
光栅图形的缩放比例 |
DOUBLE dAng |
旋转角度 |
BSTR pszFilePath |
光栅图的文字路径,支持http://开头的网络路径 |
3、c#中实现代码说明:
|
4、js中实现代码说明:
|
九、指定区域绘制一个jpg文件
1、主要用到函数说明:_DMxDrawX::DrawToJpg
把指定区域的内容绘制一个jpg文件中。详细说明如下:
参数 | 说明 |
---|---|
BSTR sJpgFilePath |
Jpg文件名 |
DOUBLE dLbx |
输出范围的左下角坐标X,文档坐标系统 |
DOUBLE dLby |
输出范围的左下角坐标Y,文档坐标系统 |
DOUBLE dRtx |
输出范围的右上角坐标X,文档坐标系统 |
DOUBLE dRty |
输出范围的右上角坐标Y,文档坐标系统 |
iWidth |
位图宽度方向的像素,是-1并iHeight不是-1,由高度和文档高宽算出,否则取系统默认值:1000 |
iHeight |
位图高度方向的像素,是-1并iWidth不是-1, 由高度和文档高宽算出,否则取系统默认值:1000 |
pBkColor |
位图的背影色,如果为NULL,取黑色为背景色 |
2、c#中实现代码说明:
|
3、js中实现代码说明:
|
十、制作简单动画
1、主要用到函数说明:
(1)IMxDrawEntity::Rotate
旋转一个对象。详细说明如下:
参数 | 说明 |
---|---|
[in] IMxDrawPoint* basePoint |
旋转基点 |
[in] DOUBLE dRotationAngle |
旋转角度 |
(2)IMxDrawAnimation::GetAnimationEntity2
得到动画临时对象.如果对象没有被初始成动画状态,返回为 NULL。详细说明如下:
参数 | 说明 |
---|---|
[in] BSTR pszHandle |
动画对象句柄 |
2、js中实现代码说明:
|
|
3、效果展示:
十一、删除所有图片
1、c#代码实现说明:
|
2、js代码实现说明:
|
十二、设置图片透明度
1、c#代码实现说明:
|
2、js代码实现说明:
|
十三、向记录中增加一个光栅图形
1、主要用到函数说明:IMxDrawBlockTableRecord::AddImage2
向记录中增加一个光栅图形,详细说明如下:
参数 | 说明 |
---|---|
[in] DOUBLE dScale |
光栅图的缩放比例 |
[in] LONGLONG imageDefId |
光栅图形定义对象ID |
origin |
光栅图的左下角位置 |
2、c#代码实现说明:
|
梦想CAD控件