Skip to content

mxcad_2d API 文档 / 2d / McCmColor

Class: McCmColor ​

2d.McCmColor

McCmColor 是 CAD 中的颜色对象,用于统一表示颜色值和颜色索引,并为实体属性设置提供基础颜色数据。

Description

该类用于处理图形对象的颜色管理,既可以通过 RGB 值设置真实颜色,也可以通过颜色索引控制随层、随块等颜色模式。 通过它可以完成:

  • 创建和复制颜色对象;
  • 设置 RGB 或颜色索引;
  • 读取颜色字符串/样式;
  • 将颜色应用到实体对象的 trueColor 或 colorIndex 属性。

使用方式:

  1. 构造 McCmColor 实例;
  2. 通过 setRGB() 或 colorIndex 赋值;
  3. 将对象赋给实体的颜色属性;
  4. 在需要时读取颜色字符串、样式或对象颜色值。

总结:在实际开发中,McCmColor 是实体颜色控制的基础类型,适用于图层颜色、对象颜色和界面颜色展示等场景。

Example

ts
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 ​

NameTypeDescription
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 ​

NameType
valnumber

Returns ​

void


colorIndex ​

• get colorIndex(): number

获取或设置颜色索引。

Returns ​

number

Example

ts
import { McCmColor, ColorIndexType } from "mxcad"

const color = new McCmColor();
color.colorIndex = ColorIndexType.kBylayer;//设置颜色随层
console.log(color.colorIndex);

• set colorIndex(val): void

Parameters ​

NameType
valnumber

Returns ​

void


green ​

• get green(): number

获取或设置rgb值中的绿色值,设置数值范围0~255。

Returns ​

number

• set green(val): void

Parameters ​

NameType
valnumber

Returns ​

void


method ​

• get method(): number

方法。

Returns ​

number

• set method(val): void

Parameters ​

NameType
valnumber

Returns ​

void


n ​

• get n(): number

获取或设置颜色透明度,设置数值范围0~255。 0完全透明,160半透明(中间值),255完全不透明

Returns ​

number

• set n(val): void

Parameters ​

NameType
valnumber

Returns ​

void


red ​

• get red(): number

获取或设置rgb值中的红色值,设置数值范围0~255。

Returns ​

number

• set red(val): void

Parameters ​

NameType
valnumber

Returns ​

void

Methods ​

clone ​

▸ clone(): McCmColor

刻隆一个颜色对象

Returns ​

McCmColor

返回克隆后的颜色对象


copy ​

▸ copy(val): McCmColor

复制颜色对象的值。

Parameters ​

NameTypeDescription
valMcCmColor颜色对象

Returns ​

McCmColor

Example

ts
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 ​

NameTypeDescription
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 ​

NameTypeDescription
colorIndexnumber颜色索引。

Returns ​

void

Example

ts
import { McCmColor, ColorIndexType } from "mxcad"

const color = new McCmColor();
color.setColorIndex(ColorIndexType.kBylayer);//设置颜色随层

setRGB ​

▸ setRGB(red, green, blue): void

设置 RGB 值。

Parameters ​

NameTypeDescription
rednumber红色值。
greennumber绿色值。
bluenumber蓝色值。

Returns ​

void