Skip to content

mxcad_2d API 文档 / 2d / McCmColor

Class: McCmColor

2d.McCmColor

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

Description

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

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

使用方式:

  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