本文整理了Java中android.graphics.Color.RGBToHSV()
方法的一些代码示例,展示了Color.RGBToHSV()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Color.RGBToHSV()
方法的具体详情如下:
包路径:android.graphics.Color
类名称:Color
方法名:RGBToHSV
暂无
代码示例来源:origin: googlemaps/android-maps-utils
/**
* Helper function for creation of color map
* Interpolates between two given colors using their HSV values.
*
* @param color1 First color
* @param color2 Second color
* @param ratio Between 0 to 1. Fraction of the distance between color1 and color2
* @return Color associated with x2
*/
static int interpolateColor(int color1, int color2, float ratio) {
int alpha = (int) ((Color.alpha(color2) - Color.alpha(color1)) * ratio + Color.alpha(color1));
float[] hsv1 = new float[3];
Color.RGBToHSV(Color.red(color1), Color.green(color1), Color.blue(color1), hsv1);
float[] hsv2 = new float[3];
Color.RGBToHSV(Color.red(color2), Color.green(color2), Color.blue(color2), hsv2);
// adjust so that the shortest path on the color wheel will be taken
if (hsv1[0] - hsv2[0] > 180) {
hsv2[0] += 360;
} else if (hsv2[0] - hsv1[0] > 180) {
hsv1[0] += 360;
}
// Interpolate using calculated ratio
float[] result = new float[3];
for (int i = 0; i < 3; i++) {
result[i] = (hsv2[i] - hsv1[i]) * (ratio) + hsv1[i];
}
return Color.HSVToColor(alpha, result);
}
代码示例来源:origin: robolectric/robolectric
@Test
public void RGBToHSVShouldBeCorrectForBlue() {
float[] hsv = new float[3];
Color.RGBToHSV(0, 0, 255, hsv);
assertThat(hsv[0]).isEqualTo(240f);
assertThat(hsv[1]).isEqualTo(1.0f);
assertThat(hsv[2]).isEqualTo(1.0f);
}
代码示例来源:origin: PhilJay/MPAndroidChart
Color.RGBToHSV(Color.red(originalColor), Color.green(originalColor),
Color.blue(originalColor), _hsvBuffer);
_hsvBuffer[2] *= 0.5f;
代码示例来源:origin: ajavamind/Processing-Cardboard
public final float saturation(int what) {
if (what != cacheHsbKey) {
Color.RGBToHSV((what >> 16) & 0xff, (what >> 8) & 0xff,
what & 0xff, cacheHsbValue);
cacheHsbKey = what;
}
return cacheHsbValue[1] * colorModeY;
}
代码示例来源:origin: ajavamind/Processing-Cardboard
public final float hue(int what) {
if (what != cacheHsbKey) {
Color.RGBToHSV((what >> 16) & 0xff, (what >> 8) & 0xff,
what & 0xff, cacheHsbValue);
cacheHsbKey = what;
}
return (cacheHsbValue[0] / 360f) * colorModeX;
}
代码示例来源:origin: ajavamind/Processing-Cardboard
public final float brightness(int what) {
if (what != cacheHsbKey) {
Color.RGBToHSV((what >> 16) & 0xff, (what >> 8) & 0xff,
what & 0xff, cacheHsbValue);
cacheHsbKey = what;
}
return cacheHsbValue[2] * colorModeZ;
}
代码示例来源:origin: fasteque/rgb-tool
public static float[] RGBToHSB(@IntRange(from = 0, to = 255) int r,
@IntRange(from = 0, to = 255) int g,
@IntRange(from = 0, to = 255) int b) {
float[] hsb = new float[3];
Color.RGBToHSV(r, g, b, hsb);
return hsb;
}
代码示例来源:origin: jruesga/timeline-chart-view
public static int getComplementaryColor(int color) {
float[] hsv = new float[3];
Color.RGBToHSV(Color.red(color), Color.green(color), Color.blue(color), hsv);
hsv[0] = (hsv[0] + 180) % 360;
return Color.HSVToColor(hsv);
}
}
代码示例来源:origin: fasteque/rgb-tool
public static int getComplementaryColor(@IntRange(from = 0, to = 255) int rgbRColor,
@IntRange(from = 0, to = 255) int rgbGColor,
@IntRange(from = 0, to = 255) int rgbBColor) {
float[] hsv = new float[3];
Color.RGBToHSV(rgbRColor, rgbGColor, rgbBColor, hsv);
hsv[0] = (hsv[0] + 180) % 360;
return Color.HSVToColor(hsv);
}
代码示例来源:origin: gigabytedevelopers/FireFiles
public static int getComplementaryColor(int colorToInvert) {
float[] hsv = new float[3];
Color.RGBToHSV(Color.red(colorToInvert), Color.green(colorToInvert),
Color.blue(colorToInvert), hsv);
hsv[0] = (hsv[0] + 180) % 360;
return Color.HSVToColor(hsv);
}
代码示例来源:origin: saki4510t/libcommon
/**
* 指定したARGB値をセットする
* @param cl ARGB値
* @param force 強制更新するかどうか
*/
protected void internalSetColor(final int cl, final boolean force) {
final int alpha = Color.alpha(cl);
final int red = Color.red(cl);
final int blue = Color.blue(cl);
final int green = Color.green(cl);
Color.RGBToHSV(red, green, blue, HSV);
setColor(alpha, HSV[0], HSV[1], HSV[2], force);
}
代码示例来源:origin: fasteque/rgb-tool
public static int getContrastColor(@IntRange(from = 0, to = 255) int rgbRColor,
@IntRange(from = 0, to = 255) int rgbGColor,
@IntRange(from = 0, to = 255) int rgbBColor) {
float[] hsv = new float[3];
Color.RGBToHSV(rgbRColor, rgbGColor, rgbBColor, hsv);
if (hsv[2] < 0.5) {
hsv[2] = 0.7f;
} else {
hsv[2] = 0.3f;
}
hsv[1] = hsv[1] * 0.2f;
return Color.HSVToColor(hsv);
}
}
代码示例来源:origin: MCMrARM/revolution-irc
public void setColor(int color) {
Color.RGBToHSV(Color.red(color), Color.green(color), Color.blue(color), mTmpHSV);
mCurrentSaturation = mTmpHSV[1];
mCurrentValue = mTmpHSV[2];
if (mHuePicker != null)
mHuePicker.setValue(mTmpHSV[0]); // will call setHue from callback
else
setHue(mTmpHSV[0]);
}
代码示例来源:origin: jaredrummler/ColorPicker
/**
* Set the color this view should show.
*
* @param color The color that should be selected. #argb
* @param callback If you want to get a callback to your OnColorChangedListener.
*/
public void setColor(int color, boolean callback) {
int alpha = Color.alpha(color);
int red = Color.red(color);
int blue = Color.blue(color);
int green = Color.green(color);
float[] hsv = new float[3];
Color.RGBToHSV(red, green, blue, hsv);
this.alpha = alpha;
hue = hsv[0];
sat = hsv[1];
val = hsv[2];
if (callback && onColorChangedListener != null) {
onColorChangedListener.onColorChanged(Color.HSVToColor(this.alpha, new float[] { hue, sat, val }));
}
invalidate();
}
代码示例来源:origin: PrivacyApps/document-viewer
/**
* Set the color this view should show.
* @param color The color that should be selected.
* @param callback If you want to get a callback to
* your OnColorChangedListener.
*/
public void setColor(int color, boolean callback){
int alpha = Color.alpha(color);
int red = Color.red(color);
int blue = Color.blue(color);
int green = Color.green(color);
float[] hsv = new float[3];
Color.RGBToHSV(red, green, blue, hsv);
mAlpha = alpha;
mHue = hsv[0];
mSat = hsv[1];
mVal = hsv[2];
if(callback && mListener != null){
mListener.onColorChanged(Color.HSVToColor(mAlpha, new float[]{mHue, mSat, mVal}));
}
invalidate();
}
代码示例来源:origin: powerpoint45/Lucid-Browser
/**
* Set the color this view should show.
* @param color The color that should be selected.
* @param callback If you want to get a callback to
* your OnColorChangedListener.
*/
public void setColor(int color, boolean callback){
int alpha = Color.alpha(color);
int red = Color.red(color);
int blue = Color.blue(color);
int green = Color.green(color);
float[] hsv = new float[3];
Color.RGBToHSV(red, green, blue, hsv);
mAlpha = alpha;
mHue = hsv[0];
mSat = hsv[1];
mVal = hsv[2];
if(callback && mListener != null){
mListener.onColorChanged(Color.HSVToColor(mAlpha, new float[]{mHue, mSat, mVal}));
}
invalidate();
}
代码示例来源:origin: org.arakhne.afc.ui/vector-android
@Override
public float[] getHSB() {
float[] t = new float[3];
android.graphics.Color.RGBToHSV(getRed(), getGreen(), getBlue(), t);
return t;
}
代码示例来源:origin: org.arakhne.afc.ui/vector-android
@Override
public float getSaturation() {
float[] t = new float[3];
android.graphics.Color.RGBToHSV(getRed(), getGreen(), getBlue(), t);
return t[1];
}
代码示例来源:origin: org.arakhne.afc.ui/vector-android
@Override
public float getHue() {
float[] t = new float[3];
android.graphics.Color.RGBToHSV(getRed(), getGreen(), getBlue(), t);
return t[0];
}
代码示例来源:origin: org.arakhne.afc.ui/vector-android
@Override
public float getBrightness() {
float[] t = new float[3];
android.graphics.Color.RGBToHSV(getRed(), getGreen(), getBlue(), t);
return t[2];
}
内容来源于网络,如有侵权,请联系作者删除!