RGB-HSB-CMYK-Lab转换算法,Photoshop Colorpicker实现方法,欢迎图形图像高手进来讨论!

sagezk 2005-01-24 05:46:38
如题
...全文
369 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
火猴 2005-03-09
  • 打赏
  • 举报
回复
http://www.brucelindbloom.com/index.html?LabGamutDisplay.html

这里面全了
sagezk 2005-03-09
  • 打赏
  • 举报
回复
多谢各位,结贴给分了!
sagezk 2005-03-05
  • 打赏
  • 举报
回复
十分感谢楼上两位,我苦苦搜了n个月,技术资料查了个一箩筐,可关于Lab颜色系统的文章太少了,各位再接再厉,在此小弟多谢!
大可山人 2005-02-25
  • 打赏
  • 举报
回复
RGB-HSB-CMYK-Lab转换算法:
Public Shared Function FromHSB ( ByVal Hue As Single, ByVal Saturation As Single, ByVal Brightness As Single) As Color

Hue /= 360

Dim r As Double = 0

Dim g As Double = 0

Dim b As Double = 0

Dim temp1, temp2 As Double



If Brightness = 0 Then

r = 0

g = 0

b = 0

Else

If Saturation = 0 Then

r = Brightness

g = Brightness

b = Brightness

Else

If Brightness <= 0.5 Then

temp2 = Brightness * (1.0 + Saturation)

Else

temp2 = Brightness + Saturation - Brightness * Saturation

End If

temp1 = 2.0 * Brightness - temp2



Dim t3() As Double = {Hue + 1.0 / 3.0, Hue , Hue - 1.0 / 3.0}

Dim clr () As Double = {0, 0, 0}

Dim i As Integer



For i = 0 To 2

If t3(i) < 0 Then t3(i) += 1.0

If t3(i) > 1 Then t3(i) -= 1.0

If 6.0 * t3(i) < 1.0 Then

clr(i) = temp1 + (temp2 - temp1) * t3(i) * 6.0

ElseIf 2.0 * t3(i) < 1.0 Then

clr(i) = temp2

ElseIf 3.0 * t3(i) < 2.0 Then

clr(i) = temp1 + (temp2 - temp1) * (2.0 / 3.0 - t3(i)) * 6.0

Else

clr(i) = temp1

End If

Next i



r = clr(0)

g = clr(1)

b = clr(2)

End If

End If


Return Color.FromArgb ( CInt (255 * r), CInt (255 * g), CInt (255 * b))

End Function

还有其他几种算法,有一个网站专门讲这个,查到之后再告诉你。
寻开心 2005-02-25
  • 打赏
  • 举报
回复
http://www.brucelindbloom.com/
math栏目
但是需要注意,那是分析色系之间标准的转换的
但是对 photoshop 未必使用, photshop是针对印刷行业的油墨特色做了一些调整的
它使用自己的公式
因此给了你rgb数值,转换出不一致的cmyk,lab等数值也是很正常的事情
sagezk 2005-01-25
  • 打赏
  • 举报
回复
题目太难,没人会?还是太简单!各路高手进来讨论一下!

4,445

社区成员

发帖
与我相关
我的任务
社区描述
图形图像/机器视觉
社区管理员
  • 机器视觉
  • 迪菲赫尔曼
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧