MATLAB 中的内置颜色图将为您提供从 0(最低强度)到 1(最高强度)缩放的 RGB 颜色三元组矩阵。要将单个 RGB 三元组转换为其等效的 KML 颜色样式(使用AABBGGRR格式),步骤如下:
uint8类型以确保您拥有 0 到 255 范围内的整数。dec2hex。这是一个例子:
>> color = [1 1 0]; % The RGB triple for yellow
>> hexColor = reshape(dec2hex(uint8([255 255.*flip(color, 2)])).', 1, 8)
hexColor =
FF00FFFF
Run Code Online (Sandbox Code Playgroud)
如果您想转换整个颜色图(即一个N乘以 3 的矩阵,每行一个 RGB 三元组),您可以像这样修改上面的代码:
>> N = 10; % Number of colors
>> map = jet(N); % 10-by-3 jet colormap
>> hexMap = reshape(dec2hex(uint8([255.*ones(N, 1) 255.*flip(map, 2)]).').', 8, []).'
hexMap =
FFAA0000
FFFF0000
FFFF5500
FFFFAA00
FFFFFF00
FFAAFF55
FF55FFAA
FF00FFFF
FF00AAFF
FF0055FF
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1533 次 |
| 最近记录: |