- 浏览: 977304 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
运乃强谦:
老哥,你确定这个wsdl 地址 可以访问?
[CXF] Server与Client实现方式五:HTTPS -
wangyudong:
由CXF实现的微服务需要有比较好的工具去测试RESTful A ...
[CXF] Server与Client实现方式四:JMS -
dengmiao:
JAXB学习三 (验证) -
panamera:
你好。可以提供maven pom配置是怎么配置的?不知道你使用 ...
[CXF] Server与Client实现方式四:JMS -
u010221220:
请问楼主一二三部分的代码都应该放在哪个函数体中。
使用JDI监听Java程序运行
[引用:] [ http://www.missyuan.com/thread-379107-1-1.html ]
第一部分————RGB与HSB的数值转换关系:
出自设计中国slowfool
1.转换公式:
声明:下列三个公式乃本人通过拾色器数据研习所得,并未参考其它资料,不当之处,望各位指正。
HSB亮度(B )=RGB最大颜色分量值/255*100%.
HSB饱和度(S)=RGB(最大颜色分量值-最小颜色分量值)/最大颜色分量值*100%.
HSB色相(H)=RGB最大颜色分量相位值+或-(中间颜色分量值-最小颜色分量值)/(最大颜色分量值-最小颜色分量值)*60度.
2.公式说明:
(1). 最大颜色分量值:如RGB(238,100,62)中的238.
(2). 最小颜色分量值:如RGB(238,100,62)中的62.
(3). 中间颜色分量值:如RGB(238,100,62)中的100.
(4). 最大颜色分量相位值:RGB三基色中,纯红R色相为0度,纯绿G色相为120度,纯蓝B色相为240度。如RGB(238,100,62)的最大颜色分量相位值则为0度,RGB(62,100,238)的最大颜色分量相位值则为240度,RGB(62,238,100)的最大颜色分量相位值则为120度。
(5).+或-:RGB值中,若中间颜色分量在最大颜色分量相位的逆时针方向,则应相加;中间颜色分量在最大颜色分量相位的顺时针方向,则应相减。例如:RGB(62,238,100),最大颜色分量为G,中间颜色分量为B,B在G的逆时针方向,中间颜色分量B对最大颜色分量G有逆时针方向牵拉色相使度数加大的作用,故应相加。再如:RGB(100,238,62),最大颜色分量为G,中间颜色分量为R,R在G的顺时针方向,中间颜色分量R对最大颜色分量G有顺时针方向牵拉色相使度数减小的作用,故应相减。
(6).60度:任何一个中间颜色分量对最大颜色分量的色相牵拉作用,在共同减掉最小颜色分量的影响后,其最大牵拉度数为60度(即120度相位差的一半,也就是中间颜色分量增大到与最大颜色分量相等时)。
__________________________________________________________________________________
[引用:] [http://www.codeproject.com/KB/recipes/colorspace1.aspx]
[引用:] [http://www.cnblogs.com/zhuliangxiong/archive/2009/05/15/1457201.html]
在Manipulating colors in .NET - Part 1中,作者详细地介绍了各种颜色模型以及各种颜色之间的转换.现记录如下,以备后用.
1.RGB RGB是一种加色模型,就是将不同比例的Red/Green/Blue混合在一起得到新颜色.通常RGB颜色模型表示为:
2.HSB(HSV) 通过色相/饱和度/亮度三要素来表达颜色.
H(Hue):表示颜色的类型(例如红色,绿色或者黄色).取值范围为0—360.其中每一个值代表一种颜色.
S(Saturation):颜色的饱和度.从0到1.有时候也称为纯度.(0表示灰度图,1表示纯的颜色)
B(Brightness or Value):颜色的明亮程度.从0到1.(0表示黑色,1表示特定饱和度的颜色)
RGB=>HSB的转换公式如下:
V=MAX
HSB=>RGB的公式如下:
H ? [0, 360]
S, V, R, G, B ? [0, 1]
Hi = [H / 60] mod 6
f = (H / 60) - Hi
p = V (1 - S)
q = V (1 - f S)
t = V (1 - (1 - f ) S)
if Hi = 0 ? R = V, G =
t, B = p
if Hi = 1 ? R
= q, G = V, B = p
if
Hi = 2 ? R = p, G = V,
B = t
if Hi = 3 ? R =
p, G = q, B = V
if
Hi = 4 ? R = t, G = p,
B = V
if Hi = 5 ? R =
V, G = p, B = q
__________________________________________________________________________________
根据以上说明,有以下转换公式:
public static float[] rgb2hsb(int rgbR, int rgbG, int rgbB) { assert 0 <= rgbR && rgbR <= 255; assert 0 <= rgbG && rgbG <= 255; assert 0 <= rgbB && rgbB <= 255; int[] rgb = new int[] { rgbR, rgbG, rgbB }; Arrays.sort(rgb); int max = rgb[2]; int min = rgb[0]; float hsbB = max / 255.0f; float hsbS = max == 0 ? 0 : (max - min) / (float) max; float hsbH = 0; if (max == rgbR && rgbG >= rgbB) { hsbH = (rgbG - rgbB) * 60f / (max - min) + 0; } else if (max == rgbR && rgbG < rgbB) { hsbH = (rgbG - rgbB) * 60f / (max - min) + 360; } else if (max == rgbG) { hsbH = (rgbB - rgbR) * 60f / (max - min) + 120; } else if (max == rgbB) { hsbH = (rgbR - rgbG) * 60f / (max - min) + 240; } return new float[] { hsbH, hsbS, hsbB }; } public static int[] hsb2rgb(float h, float s, float v) { assert Float.compare(h, 0.0f) >= 0 && Float.compare(h, 360.0f) <= 0; assert Float.compare(s, 0.0f) >= 0 && Float.compare(s, 1.0f) <= 0; assert Float.compare(v, 0.0f) >= 0 && Float.compare(v, 1.0f) <= 0; float r = 0, g = 0, b = 0; int i = (int) ((h / 60) % 6); float f = (h / 60) - i; float p = v * (1 - s); float q = v * (1 - f * s); float t = v * (1 - (1 - f) * s); switch (i) { case 0: r = v; g = t; b = p; break; case 1: r = q; g = v; b = p; break; case 2: r = p; g = v; b = t; break; case 3: r = p; g = q; b = v; break; case 4: r = t; g = p; b = v; break; case 5: r = v; g = p; b = q; break; default: break; } return new int[] { (int) (r * 255.0), (int) (g * 255.0), (int) (b * 255.0) }; }
发表评论
-
在OSGI容器Equinox中嵌入HttpServer
2011-12-27 18:01 10699简单介绍一下如何在一个osgi的bundle中内嵌使用http ... -
GEF中用鼠标移动画布
2011-12-27 13:37 1315第一步 增加Palette项: moveTool = n ... -
在Eclipse中使用Maven
2011-09-29 13:41 1227上一篇讲了Maven的基础知识,这一篇讲怎么在Eclipse里 ... -
增加Table的Column右键菜单
2011-03-15 15:55 1437table.addListener(SWT.MenuDete ... -
给Table和Tree的Header加右键菜单
2010-10-29 11:26 2456通常,如果不做特殊处理的话,在表头(树头,以下统称表头)的上点 ... -
给Editor加上Annotation
2010-10-27 17:27 2687要自定义Annotation,需要实现以下扩展点: “ ... -
org.eclipse.ui.navigator.linkHelper的使用
2010-08-06 15:43 2380org.eclipse.ui.navigator.linkHe ... -
让表项支持鼠标拖动移位,并自动滚动滚动条
2010-04-07 11:43 2634设想我们有一个表,表中有很多数据(多到竖起滚动条至少要出现)。 ... -
Eclipse截屏插件
2010-01-19 15:59 2675闲来无事,就写了一个截屏插件,见附件,直接放在eclipse的 ... -
Eclipse取得路径的方法
2009-11-27 10:30 1859从插件中获得绝对路径: TestPlug ... -
实现自己的团队协作客户端一
2009-11-12 15:04 1383在Eclipse里自带了团队协 ... -
扩展Eclipse Java编辑器的链接功能
2009-09-09 09:35 3574在JDT中,可以在一个类,或者是方法,或者是变量上进行跳转。这 ... -
添加监听到EMF对象、加密保存
2009-08-14 10:10 951一、可以注册监听来获取EMF模型改变事件,例如: pu ... -
使用Tab键实现表格的跳转
2009-08-12 21:29 2924在Excel中,如果按Tab键,则焦点会在相邻的方格中不断的跳 ... -
StyledCellLabelProvider的应用
2009-08-11 16:47 2231昨天写了EditingSupport的应用,可以方便的编辑Ta ... -
EditingSupport的应用
2009-08-10 15:20 2916Eclipse3.3中提供了一个EditingSupport类 ... -
合理的自定义扩展点
2009-06-26 01:43 1761Eclipse中提供了各种各样的用于扩展Eclipse功能的 ... -
关键字高亮插件
2009-06-26 00:59 1882在eclipse中,如果用Ctrl+F来进行查找,它只会一个一 ... -
置窗口于显示器中央
2009-05-06 09:46 885要把窗口置于显示器的中央,也是很容易的。如下: ... -
SWT鼠标拖运的支持
2009-05-06 09:41 1844对于没有标题栏的Shell,默认是不支持鼠标拖动位置的。不过要 ...
相关推荐
网 络 收 集 调 试 通 过 。
颜色值 RGB与HSB的转换关系 转换方法的说明,自己可以编写成任何语言源程序
HSB颜色与RGB颜色互换.rar
输入RGB的值,在一个矩阵中显示该颜色,并显示HSB值
易语言HSB颜色与RGB颜色互换源码,HSB颜色与RGB颜色互换,RGBToHSV,GetMinRGB,GetMaxRGB,HSVToRGB
利用openGL编写了由RGB到HSB色彩模式转换的色域图
采用5级分割建模,4级分割测试,利用回归方程法实现从RGB到HSB的模型转换。
源码是将RGB模式的色彩值转化为HSB模式下的值,适合初学者学习,代码是c#语言写的
常用颜色的RGB和HSB(HSL)值.doc
易语言HSB颜色与RGB颜色互换源码例程程序根据一定的算法规律,实现RGB颜色值与HSB颜色模式的相互转换。本易语言源码例程属于易语言进阶教程。
vc6.0 做的颜色选择控件,界面漂亮,显示RGB和HSB(HSV)颜色。 基于对话框做的,有基础的可以改造成ocx控件
Color conversion: convertible between X11 colorname, HEX, RGB and HSB values. 2. Color composition: a color object can be composible using math operators. 3. Color enumeration: a color object can be ...
通过ActionScript将RGB转换为HSV。 RGB : 红 绿 蓝 HSV : 我理解: HSV(也叫HSB): H:色相,范围0~360,每隔60度表示一种基本颜色(其他度数在是相邻的基本度数之间的颜色):红(RGB(255,0,0))-> 黄(RGB...
易语言HSB颜色与RGB颜色互换
易语言HSB颜色与RGB颜色互换.rar
易语言HSB颜色与RGB颜色互换.zip
易语言源码易语言HSB颜色与RGB颜色互换.rar
易语言HSB颜色与RGB颜色互换.zip易语言项目例子源码下载易语言HSB颜色与RGB颜色互换.zip易语言项目例子源码下载 1.合个人学习技术做项目参考 2.适合学生做毕业设计参考 3.适合小团队开发项目参考
很方便的颜色值换算工具,选择一种颜色得到的它的16进制值,10进制值,RGB,HSB值。还可以给定的16进制或10进制颜色值,查看它的颜色。是:jar文件,需要jdk运行环境。