麻辣GIS微信平台

更多 GIS 干货

微信关注不错过

IDL下的颜色模式

IDL中有两种不同的颜色模式:

  1. 分解模式(decomposed color):    Decomposed=1
  2. 索引模式(indexed color):     Decomposed=0

默认情况(24位真彩)下为IDL使用decomposed color

每个颜色最终由表示红绿蓝的三个值决定,值范围从0到255.称为色彩三元组(color triple),每个值的大小决定了色分量的强弱,0表示最弱,255表示最强。

decomposed模式直接从真彩色中给出RGB的三个值,然后选出色彩。

而indexed模式则是先从真彩中选出256色的子集,然后使用0到255的一个index从256色子集中选取颜色。

如果决定直接选取颜色,须先定义RGB三元组。在绘图系统下,先创建一个24位的值,然后把这个值分解为三个8位的值[R, G, B],这个过程称作颜色分解(color decomposition),例如:

某绿色在真彩中的位置为5479477 -> [53, 156, 83]([B, G, R]) (可以验证,53 + 156*2^8 + 83*2^16 = 5479477,写成二进制,5479477 -> 10100111001110000110101 -> 01010011 10011100 00110101 -> 83 156 53,注意二进制表示的时候是逆序的)。

而如果想在indexed模式下使用这个绿色,首先要把它加载到颜色表/调色板上并指定它的index(这里假定是100):

TVLCT, 53, 156, 83, 100 greenColor = 100

所以,在两种不同的模式下greenColor有不同的表述:
在decomposed模式下,greenColor=5479477L
在indexed模式下,greenColor=100

这就可以解释为什么有时会有一些奇怪的现象发生,例如图像结果全部是红色。这是默认使用decomposed模式,但赋值给的却是index的缘故,例如:

Device, Decomposed=1 ;(decomposed model)
Plot, FindGen(1), Color=100

正确使用应该是:

Device, Decomposed=0 ;(indexed模式)
Plot, FindGen(1), Color=100

或者

Device, Decomposed=1 ;(decomposed模式)
Plot, FindGen(1), Color=5479477L

相关阅读

麻辣GIS-Sailor

作者:

GIS爱好者,学GIS,更爱玩GIS。

声明

1.本文所分享的所有需要用户下载使用的内容(包括但不限于软件、数据、图片)来自于网络或者麻辣GIS粉丝自行分享,版权归该下载资源的合法拥有者所有,如有侵权请第一时间联系本站删除。

2.下载内容仅限个人学习使用,请切勿用作商用等其他用途,否则后果自负。

手机阅读
公众号关注
知识星球
手机阅读
麻辣GIS微信公众号关注
最新GIS干货
关注麻辣GIS知识星球
私享圈子

已有 2 条评论

  1. 麻辣GIS-wkl7123
    1#
    wkl7123  · 2015-03-30 05:02

    TVLCT, 53, 156, 83, 100 greenColor = 100这里少了一个分号吧

      1. 麻辣GIS-麻辣GIS
        麻辣GIS  · 2015-04-04 04:20

        你好,这个我有点记不清楚了,需要验证一下。

留言板(小编看到第一时间回复)