鱼C论坛

 找回密码
 立即注册
查看: 2109|回复: 6

[已解决]关于RGB取值的一问题

[复制链接]
发表于 2021-1-1 23:06:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
请问论坛的大佬这里运算逻辑是什么,不理解这里运算逻辑,为什么要*255
最佳答案
2021-1-2 00:38:06
因为png图像的数据类型是Uint8ClampedArray  
这个数组里面每4个(jpg是3个)数据表示一个像素点 每个数据最大只能255 最小是0
所以每个通道的比值是需要*255得到Uint8ClampedArray里面的像素点的单通道的值
捕获1.PNG
捕获.PNG
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-1-2 00:38:06 | 显示全部楼层    本楼为最佳答案   
因为png图像的数据类型是Uint8ClampedArray  
这个数组里面每4个(jpg是3个)数据表示一个像素点 每个数据最大只能255 最小是0
所以每个通道的比值是需要*255得到Uint8ClampedArray里面的像素点的单通道的值
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-2 16:09:18 From FishC Mobile | 显示全部楼层
kogawananari 发表于 2021-1-2 00:38
因为png图像的数据类型是Uint8ClampedArray  
这个数组里面每4个(jpg是3个)数据表示一个像素点 每个数据 ...

有点懂了,我换了一个角度来看待这个问题,
现在有一个控制RGB值可左右拖动的滚动条
滚动条当前位置比滚动条的长度的比值,就是当前滚动条位置占长度的百分之x,用这个比值乘255,就可以得到相应的RGB值,大佬是不是这个意思
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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)
是不是看起来就比较清楚了?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-2 16:38:28 From FishC Mobile | 显示全部楼层
qq1151985918 发表于 2021-1-2 16:30
如果把换成
是不是看起来就比较清楚了?

是的,就是这个意思,视频中的那样不太直观
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-2 18:56:10 | 显示全部楼层
kogawananari 发表于 2021-1-2 18:31
说255可能你也不理解
就黑色就是【0,0,0】也就是#000000
白色是【255,255,255】是#ffffff

这个我能大致理解,三原色,rgb分别对应红,绿,蓝,不同组合数组,显示出来的颜色就不一样,就像三原色的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-30 15:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表