Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/195.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android ColorMatrix setSaturation()是否支持大于1的值?_Android_Image Manipulation_Colormatrix - Fatal编程技术网

Android ColorMatrix setSaturation()是否支持大于1的值?

Android ColorMatrix setSaturation()是否支持大于1的值?,android,image-manipulation,colormatrix,Android,Image Manipulation,Colormatrix,看看Android文档,他们说: 设置矩阵以影响颜色的饱和度。值为0时,颜色将映射为灰度。1是身份 我正试图提高饱和度(以HSL/HSV为单位)以获得更强烈的颜色,所以我通过了1.6,看起来效果不错。我遇到过Android layout shadowRadius值小于1的设备特定问题,因此该参数是否存在此类问题并超出指定范围的危险?饱和度的范围确实在0和1之间。但是让我们看看setSaturation()方法的代码: public void setSaturation(浮动sat){ 重置();

看看Android文档,他们说:

设置矩阵以影响颜色的饱和度。值为0时,颜色将映射为灰度。1是身份


我正试图提高饱和度(以HSL/HSV为单位)以获得更强烈的颜色,所以我通过了1.6,看起来效果不错。我遇到过Android layout shadowRadius值小于1的设备特定问题,因此该参数是否存在此类问题并超出指定范围的危险?

饱和度的范围确实在0和1之间。但是让我们看看setSaturation()方法的代码:

public void setSaturation(浮动sat){
重置();
浮动[]m=mArray;

final float invSat=1-sat;//作为一个在Android之前学习过iOS的人,我不知道他们的意思是开源的……我不知道这是什么意思。谢谢你的链接和快速回复!不,不是。
1在ColorMatrix中表示100%
。就像其他语言一样,包括VB.NET和C。
public void setSaturation(float sat) {
    reset();
    float[] m = mArray;

    final float invSat = 1 - sat; //<---------invSat will be negative if sat bigger than 1
    final float R = 0.213f * invSat;
    final float G = 0.715f * invSat;
    final float B = 0.072f * invSat;

    m[0] = R + sat; m[1] = G;       m[2] = B;
    m[5] = R;       m[6] = G + sat; m[7] = B;
    m[10] = R;      m[11] = G;      m[12] = B + sat;
}