background
本文回答:背景色用
Engine.setBgc(grayValue),参数是灰度 0-255(0=深色主题默认色#212830(不是纯黑),255=#FFFFFF=浅色主题默认,其他 n =rgb(n,n,n))。背景影响实体颜色显示效果,调整后通常自动重绘。
一、最小用法
Engine.setBgc(0); // 深色主题默认 #212830(不是纯黑;要纯黑可用 setBgc(1) ≈ rgb(1,1,1))
Engine.setBgc(255); // 纯白(浅色主题默认)
Engine.setBgc(33); // 深灰
Engine.setBgc(128); // 中灰
MCP 参考:vjcad/example/view/06background.js;取值:0=深色,255=浅色。
| 灰度值 | 含义 |
|---|---|
| 0 | 特例:Engine.DARK_BG_COLOR = #212830(深色主题默认,源码 Engine.setBgc(isDarkTheme ? 0 : 255)) |
| 33 | 深灰 |
| 128 | 中灰 |
| 200 | 浅灰 |
| 255 | 特例:Engine.LIGHT_BG_COLOR = #FFFFFF(浅色主题默认,适合打印预览) |
二、与主题的关系
setBgc只控制画布背景;主题色板读写走Engine.getThemeColors() / Engine.setThemeColors(partial)(另有isDarkTheme()),详见 ui/theme-statusbar。
三、setBgc(hexString)?
上游文档某处示例出现过 hex 字符串写法,但 setBgc(grayValue: number) 只接受 0-255 整数灰度(源码签名明确;内部 grayValue <= 127 判定深/浅)。不要传 hex 字符串——会得到非预期结果。
反例
- 设置纯白背景 + 大量浅色实体:可读性差。
- 在不同时机连续调用
setBgc:等同于背景闪屏。 - 想 "保存背景到 DWG":vjcad 的背景一般是渲染选项,不是文档持久化数据——建议在用户 settings 里保存,不要依赖文件保留。
参考(官方文档 MCP)
- 文档:
vjcad/doc/view/index.md - 示例:
vjcad/example/view/06background.js