根据其他颜色计算具有透明度的十六进制颜色

问题描述 投票:0回答:1

我有以下图片:

我想根据以下信息找到红色圆圈的十六进制颜色和透明度:

  • 紫色背景圆圈是#afb0cc
  • 人像是#ffffff

通过使用滴管,我能够找出一些额外的信息:

  • 紫色背景圆圈上的红色圆圈是 #d75866
  • 人物上方的红圈是#ff7f7f
colors hex calculation
1个回答
0
投票

我想找到红色圆圈的十六进制颜色和透明度”

像素的色调(或纯色,无阴影等)是其最高分量(具有R、G或B)。

假设像素的 RGB 具有以下设置:

AA
= R,
BB
= G,
CC
= B...
根据使用的颜色模型等,可以呈现为
#AABBCC
#CCBBAA

找到红色的十六进制
要找到“红色”,您需要一个与 BBCC 分量相比具有较高 AA 分量值的像素。红色通道的级别定义了红色的类型(例如:深色、樱桃色、玫瑰色等)。

求红色圆圈的透明度

鉴于 AA 是最高分量(红色),然后从中减去 BBCC 的最低值。

Opacity_estimate = ( AA - ( Math.min( BB , CC ) ) );  

示例:

“紫色背景圆圈上的红色圆圈是

#d75866

最高为

0xD7
(整数:215),最低为
0x58
(整数:88)。

如果这样做:

215 - 88
,则不透明度 = 127
(或者至少您可以确定红色级别为 128,该数字可能是由于亮度或白色背景上的透明度所致)。

© www.soinside.com 2019 - 2024. All rights reserved.