乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 102|回复: 6

[ARX]如何把一幅图像中所有的图形颜色变成白色

[复制链接]

2

主题

5

帖子

1

银币

初来乍到

Rank: 1

铜币
13
发表于 2006-10-27 16:18:00 | 显示全部楼层 |阅读模式
如题
回复

使用道具 举报

2

主题

5

帖子

1

银币

初来乍到

Rank: 1

铜币
13
发表于 2006-10-27 16:26:00 | 显示全部楼层
Acad::ErrorStatus changeColor(AcDbObjectId entId,Adesk::UInt16 newColor)
{
   //打开对象,用于编辑
   AcDbEntity *pEntity;
   acdbOpenObject(pEntity,entId,AcDb::kForWrite);
   //设置新的颜色
   pEntity->setColorIndex(newColor);
   pEntity->close;
   return Acad::eOk;
}
改变一个实体的颜色如上图所示,改变全部的呢?
回复

使用道具 举报

16

主题

160

帖子

7

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
224
发表于 2006-10-27 20:24:00 | 显示全部楼层

要对 AcDbBlockTableRecord 中的 ACDB_MODEL_SPACE进行遍历啊
void TEST()
{
// TODO: Implement the command
// 假设 newColor=1(红色)
int newColor=1;
// 取 模型空间=pMS
AcDbBlockTable *pBlockTable;
Acad::ErrorStatus es;
acdbHostApplicationServices()->workingDatabase()->getSymbolTable(pBlockTable,AcDb::kForRead);
AcDbBlockTableRecord *pMS;
pBlockTable->getAt(ACDB_MODEL_SPACE,pMS,AcDb::kForRead);
pBlockTable->close();
// 新建迭代器
AcDbBlockTableRecordIterator *pIter=NULL;
pMS->newIterator(pIter);
if (pIter==NULL)
{
  acutPrintf("\n** Error on the newIterator...");
  pMS->close();
  return;
}
// 遍历迭代器中的 Entity 来 改变颜色
for(pIter->start();!pIter->done();pIter->step())
{
  acutPrintf("\n****");
  AcDbEntity *pEnt=NULL;
  // 得到 Entity=pEnt 为 读
  pIter->getEntity(pEnt,AcDb::kForRead);
  if(pIter==NULL)
   continue;
  // 将状态 升级
  if(pEnt->upgradeOpen()!=Acad::eOk)
  {
   acutPrintf("\n** one object can't upgradeOpen");
   pEnt->close();
   continue;
  }
  // 改变颜色
  es=pEnt->setColorIndex(newColor);
  if(es!=Acad::eOk)
   acutPrintf("\none object can't change the color");
  pEnt->close();
}
delete pIter;
pMS->close();
}
回复

使用道具 举报

2

主题

5

帖子

1

银币

初来乍到

Rank: 1

铜币
13
发表于 2006-10-29 20:23:00 | 显示全部楼层
谢谢楼上的兄弟
回复

使用道具 举报

3

主题

102

帖子

5

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
114
发表于 2006-10-31 09:48:00 | 显示全部楼层
更简单的方法是用AcedCommandh函数调用AUTOCAD的change命令.

回复

使用道具 举报

2

主题

5

帖子

1

银币

初来乍到

Rank: 1

铜币
13
发表于 2006-11-4 13:33:00 | 显示全部楼层
楼上的兄弟能给个代码看吗?
回复

使用道具 举报

0

主题

3

帖子

3

银币

初来乍到

Rank: 1

铜币
3
发表于 2012-10-15 10:45:00 | 显示全部楼层
这不是全选就可以了吗?
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-2-5 09:57 , Processed in 0.272661 second(s), 66 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表