日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

hsv java_rgb-hsv-hsl-android.java

發布時間:2025/3/19 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 hsv java_rgb-hsv-hsl-android.java 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

rgb-hsv-hsl-android.java

public class ColorUtility{

//RGB->HSL算法來源:http://blog.csdn.net/idfaya/article/details/6770414

static float[] colorToHsl(int color) {

float h = 0, s = 0, l = 0;

float r = Color.red(color) / 255f;

float g = Color.green(color) / 255f;

float b = Color.blue(color) / 255f;

float max = Math.max(Math.max(r,g), b);

float min = Math.min(Math.min(r,g), b);

if(max == min)

h = 0;

else if((max == r) && (g >= b))

h = 60 * (g - b) / (max - min);

else if((max == r) && (g < b))

h = 60 * (g - b) / (max - min) + 360;

else if(max == g)

h = 60 * (b - r) / (max - min) + 120;

else if(max == b)

h = 60 * (r - g) / (max - min) + 240;

l = (max + min) / 2;

if((l == 0) || (max == min))

s = 0;

else if((l > 0) && (l <= 1/2))

s = (max - min) / (max + min);

else if(l > 1/2)

s = (max - min) / (2 - (max+min));

return new float[]{h, s, l};

}

public static void setColor(int color) {

float hsv[] = new float[3];

Color.colorToHSV(color, hsv);

float hsl[] = colorToHsl(color);

Log.i("light", String.format("r,g,b = %3d,%3d,%3d; h,s,v = %.2f,%.2f,%.2f; h,s,l = %.2f,%.2f,%.2f", Color.red(color), Color.green(color), Color.blue(color), hsv[0], hsv[1], hsv[2], hsl[0], hsl[1], hsl[2]));

}

}

總結

以上是生活随笔為你收集整理的hsv java_rgb-hsv-hsl-android.java的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。