请选择 进入手机版 | 继续访问电脑版
天气与日历 切换到窄版

 找回密码
 立即注册
中国膜结构网
十大进口膜材评选 十大国产膜材评选 十大膜结构设计评选 十大膜结构公司评选
查看: 42|回复: 0

ObjectArx 设置填充透明度问题

[复制链接]
  • TA的每日心情
    开心
    1 小时前
  • 签到天数: 30 天

    [LV.5]常住居民I

    254

    主题

    69

    回帖

    1245

    积分

    高级会员

    积分
    1245
    QQ
    发表于 2024-2-23 16:11:50 | 显示全部楼层 |阅读模式
    初始化透明度参数AcCmTransparency对象时,需要调用setAlpha设置透明度值,这里传入的值是0~255,但cad特性面板上显示的是0~90,且经过测试发现,传入值与特性面板显示的值也是不同的,比如传入90,显示64,百度搜索了个寂寞,最后还是在谷歌找到了答案,原来设置的值和特性面板显示的值有个转换关系:int alpha = (int)(((255 - value) * 100) / 255);

    所以要在设置透明度之前把值做下转换,像这样

    // 设置填充透明度

    AcCmTransparency tran;

    tran.setMethod(AcCmTransparency::kByAlpha);

    int alpha = (int)(255 - ((255 * opacity) / 100));

    tran.setAlpha(alpha);

    Acad::ErrorStatus es = pHatch->setTransparency(tran);

    这样就能和特性面板上的值对应上了。(不过整数除法可能会丢失精度,肯能会有1误差)
    ObjectArx 设置填充透明度问题
    深圳市诺科空间膜结构有限公司 专业膜结构设计施工20年,一级设计一级施工  www.nkmjg.cn 欢迎联系电话:138-2526-2292
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|手机版|中国膜结构网_中国空间膜结构协会

    GMT+8, 2024-3-29 14:13 , Processed in 0.057955 second(s), 22 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表