在CAD设计时,需要绘制文字,用户可以设置设置绘制文字的高度等属性。
主要用到函数说明:
_DMxDrawX::DrawText
绘制一个单行文字。详细说明如下:
参数 | 说明 |
---|---|
DOUBLE dPosX |
>文字的位置的X坐标 |
DOUBLE dPosY |
文字的位置的Y坐标 |
BSTR pszText |
文字内容字符串 |
DOUBLE dHeight |
文字高度 |
DOUBLE dRotation |
文字的旋转角度 |
SHORT horizontalMode |
文字的水平对齐方式,0=kTextLeft,1=kTextCenter,2=kTextRight |
SHORT verticalMode |
文字的竖直对齐方式,1=kTextBottom,2=kTextVertMid,3=kTextTop |
_DMxDrawX::AddTextStyle1
向数据库中增加一个文字样式。详细说明如下:
参数 | 说明 |
---|---|
BSTR pszName |
文字样式名称 |
BSTR pszFileName |
shx文件名 |
BSTR pszBigFontFileName |
big shx文件名 |
DOUBLE dXScale |
文字宽度缩放比例 |
C#中实现代码说明:
private void DrawText() { //清空当前显示内容 axMxDrawX1.NewFile(); //把颜色改回黑白色 axMxDrawX1.DrawCADColor = 0; //创建一个图层,名为"TextLayer" axMxDrawX1.AddLayer("TextLayer"); //设置当前图层为"TextLayer" axMxDrawX1.LayerName = "TextLayer"; //绘制一个单行文字 //参数一为文字的位置的X坐标 ;参数二为文字的位置的Y坐标 ;参数三为文字内容字符串 //参数四为文字高度;参数五为文字的旋转角度 //参数六为文字的水平对齐方式,0=kTextLeft,1=kTextCenter,2=kTextRight //参数七文字的竖直对齐方式,1=kTextBottom,2=kTextVertMid,3=kTextTop //------------------------------------------------------------------------------------------------- //写一个文字,0,1是左对齐. axMxDrawX1.DrawCADColor = 65280; axMxDrawX1.DrawText(0, 1900, "梦想绘图控件3.0 www.mxdraw.com", 100, 0, 0, 1); //--------------------------------------------------------------------------------------------------- //写一个文字,2,1是右下对齐. axMxDrawX1.DrawCADColor = 4556677; axMxDrawX1.DrawText(3000, 2100, "梦想绘图控件3.0 www.mxdraw.com", 100, -20, 2, 1); //-------------------------------------------------------------------------------------------------- //按指定样式绘制文字 axMxDrawX1.AddTextStyle1("MyTextStyle", "italicc.shx", "gbcbig.shx", 0.7); axMxDrawX1.TextStyle = "MyTextStyle"; axMxDrawX1.DrawCADColor = 255; axMxDrawX1.DrawText(0, 3000, "梦想绘图控件3.0 www.mxdraw.com", 100, 0, 0, 1); //-------------------------------------------------------------------------------------------------- //写一个TureType字体 axMxDrawX1.AddTextStyle2("MyTrueTypeStyle", "黑体", 0.7); axMxDrawX1.TextStyle = "MyTrueTypeStyle"; axMxDrawX1.DrawText(0, 3150, "梦想绘图控件3.0 www.mxdraw.com", 100, 0, 0, 1); axMxDrawX1.ZoomAll(); axMxDrawX1.UpdateDisplay(); }
原文地址:https://www.cnblogs.com/yzy0224/p/11057255.html
时间: 2024-10-10 00:13:45