mxcad_2d API 文档 / 2d / McCmColor
Class: McCmColor
2d.McCmColor
McCmColor 是 CAD 中的颜色对象,用于统一表示颜色值和颜色索引,并为实体属性设置提供基础颜色数据。
Description
该类用于处理图形对象的颜色管理,既可以通过 RGB 值设置真实颜色,也可以通过颜色索引控制随层、随块等颜色模式。 通过它可以完成:
- 创建和复制颜色对象;
- 设置
RGB或颜色索引; - 读取颜色字符串/样式;
- 将颜色应用到实体对象的
trueColor或colorIndex属性。
使用方式:
- 构造 McCmColor 实例;
- 通过
setRGB()或colorIndex赋值; - 将对象赋给实体的颜色属性;
- 在需要时读取颜色字符串、样式或对象颜色值。
总结:在实际开发中,McCmColor 是实体颜色控制的基础类型,适用于图层颜色、对象颜色和界面颜色展示等场景。
Example
import { McCmColor, McDbEntity } from "mxcad";
// 创建颜色对象并将其应用到实体颜色上。
async function testColor() {
const ent = new McDbEntity();
ent.trueColor = new McCmColor(255, 0, 0);
const color = new McCmColor();
color.setRGB(0, 255, 0);
console.log("颜色字符串:", color.getColorString());
}Table of contents
Constructors
Accessors
Methods
Constructors
constructor
• new McCmColor(red?, green?, blue?, n?)
构造函数。设置 RGB 值。
Parameters
| Name | Type | Description |
|---|---|---|
red? | number | object | 红(0-255) |
green? | number | 绿(0-255) |
blue? | number | 蓝(0-255) |
n? | number | 透明度(0-255) |
Accessors
blue
• get blue(): number
获取或设置rgb值中的蓝色值,设置数值范围0~255。
Returns
number
• set blue(val): void
Parameters
| Name | Type |
|---|---|
val | number |
Returns
void
colorIndex
• get colorIndex(): number
获取或设置颜色索引。
Returns
number
Example
import { McCmColor, ColorIndexType } from "mxcad"
const color = new McCmColor();
color.colorIndex = ColorIndexType.kBylayer;//设置颜色随层
console.log(color.colorIndex);• set colorIndex(val): void
Parameters
| Name | Type |
|---|---|
val | number |
Returns
void
green
• get green(): number
获取或设置rgb值中的绿色值,设置数值范围0~255。
Returns
number
• set green(val): void
Parameters
| Name | Type |
|---|---|
val | number |
Returns
void
method
• get method(): number
方法。
Returns
number
• set method(val): void
Parameters
| Name | Type |
|---|---|
val | number |
Returns
void
n
• get n(): number
获取或设置颜色透明度,设置数值范围0~255。 0完全透明,160半透明(中间值),255完全不透明
Returns
number
• set n(val): void
Parameters
| Name | Type |
|---|---|
val | number |
Returns
void
red
• get red(): number
获取或设置rgb值中的红色值,设置数值范围0~255。
Returns
number
• set red(val): void
Parameters
| Name | Type |
|---|---|
val | number |
Returns
void
Methods
clone
▸ clone(): McCmColor
刻隆一个颜色对象
Returns
返回克隆后的颜色对象
copy
▸ copy(val): McCmColor
复制颜色对象的值。
Parameters
| Name | Type | Description |
|---|---|---|
val | McCmColor | 颜色对象 |
Returns
Example
import { McCmColor } from "mxcad"
const color:McCmColor = new McCmColor();
const red_color:McCmColor = new McCmColor(255, 0, 0);
color.copy(red_color);getColorString
▸ getColorString(): string
得到颜色说明字符串
Returns
string
颜色说明字符串
getColorValue
▸ getColorValue(layerId?, blkRefId?): string
得到颜色值字符串,十六进制格式,layerId:颜色随层时会取layerId指向的层颜色,blkRefId:颜色随块时,会取blkRefId指向的块颜色
Parameters
| Name | Type | Description |
|---|---|---|
layerId? | McObjectId | 图层ID |
blkRefId? | McObjectId | 块记录ID |
Returns
string
颜色值字符串
getImp
▸ getImp(): any
获取内部实现对象
Returns
any
内部实现对象
getStyle
▸ getStyle(): string
获取 css 颜色的样式 如rgb(0, 0, 0)
Returns
string
setColorIndex
▸ setColorIndex(colorIndex): void
设置颜色索引,根据颜色索引值设置颜色类型。
Parameters
| Name | Type | Description |
|---|---|---|
colorIndex | number | 颜色索引。 |
Returns
void
Example
import { McCmColor, ColorIndexType } from "mxcad"
const color = new McCmColor();
color.setColorIndex(ColorIndexType.kBylayer);//设置颜色随层setRGB
▸ setRGB(red, green, blue): void
设置 RGB 值。
Parameters
| Name | Type | Description |
|---|---|---|
red | number | 红色值。 |
green | number | 绿色值。 |
blue | number | 蓝色值。 |
Returns
void
