本文整理汇总了Java中org.eclipse.swt.graphics.RGB.getHSB方法的典型用法代码示例。如果您正苦于以下问题:Java RGB.getHSB方法的具体用法?Java RGB.getHSB怎么用?Java RGB.getHSB使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.eclipse.swt.graphics.RGB
的用法示例。
在下文中一共展示了RGB.getHSB方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getSchemedColor
import org.eclipse.swt.graphics.RGB; //导入方法依赖的package包/类
public static Color getSchemedColor(Device device, int red, int green, int blue) {
ensureMapColorsInitialized(device);
Long key = new Long(((long) red << 16) + (green << 8) + blue + 0x1000000l);
Color color = mapColors.get(key);
if (color == null || color.isDisposed()) {
try {
if (red < 0) {
red = 0;
} else if (red > 255) {
red = 255;
}
if (green < 0) {
green = 0;
} else if (green > 255) {
green = 255;
}
if (blue < 0) {
blue = 0;
} else if (blue > 255) {
blue = 255;
}
RGB rgb = new RGB(red, green, blue);
float[] hsb = rgb.getHSB();
hsb[0] += Colors.diffHue;
if (hsb[0] > 360) {
hsb[0] -= 360;
} else if (hsb[0] < 0) {
hsb[0] += 360;
}
hsb[1] *= Colors.diffSatPct;
//hsb[2] *= Colors.diffLumPct;
color = getColor(device, hsb);
mapColors.put(key, color);
} catch (IllegalArgumentException e) {
Debug.out("One Invalid: " + red + ";" + green + ";" + blue, e);
}
}
return color;
}