zoukankan      html  css  js  c++  java
  • dxf格式8位色索引转24位色

    现在的颜色基本上都是24位

    色,由RGB三个分量组成,每一个分量占8个bit,通过RGB混合得到最终的颜色。

    所谓32位色是在RGB的基础上,引进了一个Alpha通道,用于描述颜色的透明。Alpha值越小,透明度越高。

    8位色即256色,共可以表示256种颜色。目前存在两种定义。详见:http://en.wikipedia.org/wiki/8_bit_color

    一种是直接定义出256种颜色,通过索引访问这256种颜色;另一种是同RGB分量来进行的,格式为:R R R G G G B B。

    windows是使用了第一种方案来描述8位色的,我们可以使用下列数组来实现windows上的dxf格式从8位色到24位色的转换。

    // 256色索引值范围:[0,255]

    const static COLORREF CadColor[256] = 
    {
    	RGB(255,255,255),
    	RGB(255,  0,  0), RGB(255,255,  0), RGB(  0,255,  0), RGB(  0,255,255), RGB(  0,  0,255),	// 5
    	RGB(255,  0,255), RGB(255,255,255), RGB(128,128,128), RGB(192,192,192), RGB(255,  0,  0),	// 10
    	RGB(255,127,127), RGB(204,  0,  0), RGB(204,102,102), RGB(153,  0,  0), RGB(153, 76, 76),	// 15
    	RGB(127,  0,  0), RGB(127, 63, 63), RGB( 76,  0,  0), RGB( 76, 38, 38), RGB(255, 63,  0),	// 20
    	RGB(255,159,127), RGB(204, 51,  0), RGB(204,127,102), RGB(153, 38,  0), RGB(153, 95, 76),	// 25
    	RGB(127, 31,  0), RGB(127, 79, 63), RGB( 76, 19,  0), RGB( 76, 47, 38), RGB(255,127,  0),	// 30
    	RGB(255,191,127), RGB(204,102,  0), RGB(204,153,102), RGB(153, 76,  0), RGB(153,114, 76),	// 35
    	RGB(127, 63,  0), RGB(127, 95, 63), RGB( 76, 38,  0), RGB( 76, 57, 38), RGB(255,191,  0),	// 40
    	RGB(255,223,127), RGB(204,153,  0), RGB(204,178,102), RGB(153,114,  0), RGB(153,133, 76),	// 45
    	RGB(127, 95,  0), RGB(127,111, 63), RGB( 76, 57,  0), RGB( 76, 66, 38), RGB(255,255,  0),	// 50
    	RGB(255,255,127), RGB(204,204,  0), RGB(204,204,102), RGB(153,153,  0), RGB(153,153, 76),	// 55
    	RGB(127,127,  0), RGB(127,127, 63), RGB( 76, 76,  0), RGB( 76, 76, 38), RGB(191,255,  0),	// 60
    	RGB(223,255,127), RGB(153,204,  0), RGB(178,204,102), RGB(114,153,  0), RGB(133,153, 76),	// 65
    	RGB( 95,127,  0), RGB(111,127, 63), RGB( 57, 76,  0), RGB( 66, 76, 38), RGB(127,255,  0),	// 70
    	RGB(191,255,127), RGB(102,204,  0), RGB(153,204,102), RGB( 76,153,  0), RGB(114,153, 76),	// 75
    	RGB( 63,127,  0), RGB( 95,127, 63), RGB( 38, 76,  0), RGB( 57, 76, 38), RGB( 63,255,  0),	// 80
    	RGB(159,255,127), RGB( 51,204,  0), RGB(127,204,102), RGB( 38,153,  0), RGB( 95,153, 76),	// 85
    	RGB( 31,127,  0), RGB( 79,127, 63), RGB( 19, 76,  0), RGB( 47, 76, 38), RGB(  0,255,  0),	// 90
    	RGB(127,255,127), RGB(  0,204,  0), RGB(102,204,102), RGB(  0,153,  0), RGB( 76,153, 76),	// 95
    	RGB(  0,127,  0), RGB( 63,127, 63), RGB(  0, 76,  0), RGB( 38, 76, 38), RGB(  0,255, 63),	// 100
    	RGB(127,255,129), RGB(  0,204, 51), RGB(102,204,127), RGB(  0,153, 38), RGB( 76,153, 95),	// 105
    	RGB(  0,127, 31), RGB( 63,127, 79), RGB(  0, 76, 19), RGB( 38, 76, 47), RGB(  0,255,127),	// 110
    	RGB(127,255,191), RGB(  0,204,102), RGB(102,204,153), RGB(  0,153, 76), RGB( 76,153,114),	// 115
    	RGB(  0,127, 63), RGB( 63,127, 95), RGB(  0, 76, 38), RGB( 38, 76, 57), RGB(  0,255,191),	// 120
    	RGB(127,255,223), RGB(  0,204,153), RGB(102,204,178), RGB(  0,153,114), RGB( 76,153,133),	// 125
    	RGB(  0,127, 95), RGB( 63,127,111), RGB(  0, 76, 57), RGB( 38, 76, 66), RGB(  0,255,255),	// 130
    	RGB(127,255,255), RGB(  0,204,204), RGB(102,204,204), RGB(  0,153,153), RGB( 76,153,153),	// 135
    	RGB(  0,127,127), RGB( 63,127,127), RGB(  0, 76, 76), RGB( 38, 76, 76), RGB(  0,191,255),	// 140
    	RGB(127,223,255), RGB(  0,153,204), RGB(102,178,204), RGB(  0,114,153), RGB( 76,133,153),	// 145
    	RGB(  0, 95,127), RGB( 63,111,127), RGB(  0, 57, 76), RGB( 38, 66, 76), RGB(  0,127,255),	// 150
    	RGB(127,191,255), RGB(  0,102,204), RGB(102,153,204), RGB(  0, 76,153), RGB( 76,114,153),	// 155
    	RGB(  0, 63,127), RGB( 63, 95,127), RGB(  0, 38, 76), RGB( 38, 57, 76), RGB(  0, 63,255),	// 160
    	RGB(127,159,255), RGB(  0, 51,204), RGB(102,127,204), RGB(  0, 38,153), RGB( 76, 95,153),	// 165
    	RGB(  0, 31,127), RGB( 63, 79,127), RGB(  0, 19, 76), RGB( 38, 47, 76), RGB(  0,  0,255),	// 170
    	RGB(127,127,255), RGB(  0,  0,204), RGB(102,102,204), RGB(  0,  0,153), RGB( 76, 76,153),	// 175
    	RGB(  0,  0,127), RGB( 63, 63,127), RGB(  0,  0, 76), RGB( 38, 38, 76), RGB( 63,  0,255),	// 180
    	RGB(159,127,255), RGB( 51,  0,204), RGB(127,102,204), RGB( 38,  0,153), RGB( 95, 76,153),	// 185
    	RGB( 31,  0,127), RGB( 79, 63,127), RGB( 19,  0, 76), RGB( 47, 38, 76), RGB(127,  0,255),	// 190
    	RGB(191,127,255), RGB(102,  0,204), RGB(153,102,204), RGB( 76,  0,153), RGB(114, 76,153),	// 195
    	RGB( 63,  0,127), RGB( 95, 63,127), RGB( 38,  0, 76), RGB( 57, 38, 76), RGB(191,  0,255),	// 200
    	RGB(223,127,255), RGB(153,  0,204), RGB(178,102,204), RGB(114,  0,153), RGB(133, 76,153),	// 205
    	RGB( 95,  0,127), RGB(111, 63,127), RGB( 57,  0, 76), RGB( 66, 38, 76), RGB(255,  0,255),	// 210
    	RGB(255,127,255), RGB(204,  0,204), RGB(204,102,204), RGB(153,  0,153), RGB(153, 76,153),	// 215
    	RGB(127,  0,127), RGB(127, 63,127), RGB( 76,  0, 76), RGB( 76, 38, 76), RGB(255,  0,191),	// 220
    	RGB(255,127,223), RGB(204,  0,153), RGB(204,102,178), RGB(153,  0,114), RGB(153, 76,133),	// 225
    	RGB(127,  0, 95), RGB(127, 63,111), RGB( 76,  0, 57), RGB( 76, 38, 66), RGB(255,  0,127),	// 230
    	RGB(255,127,191), RGB(204,  0,102), RGB(204,102,153), RGB(153,  0, 76), RGB(153, 76,114),	// 235
    	RGB(127,  0, 63), RGB(127, 63, 95), RGB( 76,  0, 38), RGB( 76, 38, 57), RGB(255,  0, 63),	// 240
    	RGB(255,127,159), RGB(204,  0, 51), RGB(204,102,127), RGB(153,  0, 38), RGB(153, 76, 95),	// 245
    	RGB(127,  0, 31), RGB(127, 63, 79), RGB( 76,  0, 19), RGB( 76, 38, 47), RGB( 51, 51, 51),	// 250
    	RGB( 91, 91, 91), RGB(132,132,132), RGB(173,173,173), RGB(214,214,214), RGB(255,255,255)	// 255
    };
    

    ACI -- RGB对照表

  • 相关阅读:
    Fastify 系列教程四 (求对象、响应对象和插件)
    Fastify 系列教程三 (验证、序列化和生命周期)
    Fastify 系列教程二 (中间件、钩子函数和装饰器)
    Fastify 系列教程一 (路由和日志)
    使用 Vuejs 开发 chrome 插件的注意事项
    五十行javascript代码实现简单的双向数据绑定
    markown编辑器截图粘贴预览,并将图片传至七牛云
    线程与进程的区别
    TeamViewer卡在正在初始化显示参数
    Chrome 字体模糊解决
  • 原文地址:https://www.cnblogs.com/kekec/p/2027200.html
Copyright © 2011-2022 走看看