我们在CAD制图过程中,有可能需要突出或者减弱某些图层上的实体对象,那么我们可以通过设置图层的亮度来实现这一功能。
一、设置图层亮度
实现思路:
主要用到函数说明:
MxDrawXCustomFunction::Mx_SetLayerBright
设置显示亮度,默认值为100%。详细说明如下:
参数 | 说明 |
---|---|
LPCTSTR pszLayerName | 图层名,为空,就设置所有图层 |
DOUBLE bright | 亮度百分数,取值为0 ~100 |
LONG lisAutoUpDisplay | 是否自动更新显示 |
c#中实现代码说明:
MxDrawResbuf param = new MxDrawResbuf();
// 图层名
param.AddString("222");
// 图层亮度.
param.AddDouble(50);
// 不自动调用更新函数。
param.AddLong(0);
axMxDrawX1.CallEx("Mx_SetLayerBright", param);
js中实现代码说明:
var param = mxOcx.NewResbuf();
// 图层名
param.AddStringEx("222");
// 图层亮度.
param.AddDoubleEx(100);
// 不自动调用更新函数。
param.AddLongEx(0);
mxOcx.CallEx("Mx_SetLayerBright", param);
二、得到图层亮度
主要用到函数说明:
MxDrawXCustomFunction::Mx_GetLayerBright
返回图层亮度,默认值为100%。详细说明如下:
参数 | 说明 |
---|---|
LPCTSTR pszLayerName | 图层名,为空,就设置所有图层 |
c#中实现代码说明:
MxDrawResbuf ret = (MxDrawResbuf)axMxDrawX1.Call("Mx_GetLayerBright", "0");
if (ret.AtString(0) == "Ok")
{
MessageBox.Show(ret.AtDouble(1).ToString());
}
js中实现代码说明:
var ret = mxOcx.Call("Mx_GetLayerBright", "0");
if (ret.AtString(0) == "Ok")
{
alert(ret.AtDouble(1).toString());
}