qin_yin 发表于 2021-1-1 23:06:25

关于RGB取值的一问题

请问论坛的大佬这里运算逻辑是什么,不理解这里运算逻辑,为什么要*255

kogawananari 发表于 2021-1-2 00:38:06

因为png图像的数据类型是Uint8ClampedArray
这个数组里面每4个(jpg是3个)数据表示一个像素点 每个数据最大只能255 最小是0
所以每个通道的比值是需要*255得到Uint8ClampedArray里面的像素点的单通道的值

qin_yin 发表于 2021-1-2 16:09:18

kogawananari 发表于 2021-1-2 00:38
因为png图像的数据类型是Uint8ClampedArray
这个数组里面每4个(jpg是3个)数据表示一个像素点 每个数据 ...

有点懂了,我换了一个角度来看待这个问题,
现在有一个控制RGB值可左右拖动的滚动条
滚动条当前位置比滚动条的长度的比值,就是当前滚动条位置占长度的百分之x,用这个比值乘255,就可以得到相应的RGB值,大佬是不是这个意思

qq1151985918 发表于 2021-1-2 16:30:40

如果把bgcolor.r=Rgbchannel(ballrect.left*255/width)
bgcolor.g=Rgbchannel(ballrect.top*255/height)换成bgcolor.r=Rgbchannel((ballrect.left/width)*255)
bgcolor.g=Rgbchannel((ballrect.top/height)*255)
是不是看起来就比较清楚了?

qin_yin 发表于 2021-1-2 16:38:28

qq1151985918 发表于 2021-1-2 16:30
如果把换成
是不是看起来就比较清楚了?

是的,就是这个意思{:10_279:},视频中的那样不太直观

kogawananari 发表于 2021-1-2 18:31:28

qin_yin 发表于 2021-1-2 16:09
有点懂了,我换了一个角度来看待这个问题,
现在有一个控制RGB值可左右拖动的滚动条
滚动条当前位置比 ...

说255可能你也不理解
就黑色就是【0,0,0】也就是#000000
白色是【255,255,255】是#ffffff
黄色是蓝色的补色所以是R和G是ff b是0所以黄色【255,255,0】也就是#ffff00

qin_yin 发表于 2021-1-2 18:56:10

kogawananari 发表于 2021-1-2 18:31
说255可能你也不理解
就黑色就是【0,0,0】也就是#000000
白色是【255,255,255】是#ffffff


这个我能大致理解,三原色,rgb分别对应红,绿,蓝,不同组合数组,显示出来的颜色就不一样,就像三原色的
页: [1]
查看完整版本: 关于RGB取值的一问题