我試圖用ColorMatrix調整圖像的亮度(您可以在Photoshop中看到此選項,當嘗試調整色相時,亮度和亮度也是兩種不同的功能),但是丟失了哪些值改變爲實現這一點。使用ColorMatrix調整亮度
目前我能夠使用這個代碼
public static void adjustHue(ColorMatrix cm, float value)
{
value = cleanValue(value, 180f)/180f * (float) Math.PI;
if (value == 0)
{
return;
}
float cosVal = (float) Math.cos(value);
float sinVal = (float) Math.sin(value);
float lumR = 0.213f;
float lumG = 0.715f;
float lumB = 0.072f;
float[] mat = new float[]
{
lumR + cosVal * (1 - lumR) + sinVal * (-lumR), lumG + cosVal * (-lumG) + sinVal * (-lumG), lumB + cosVal * (-lumB) + sinVal * (1 - lumB), 0, 0,
lumR + cosVal * (-lumR) + sinVal * (0.143f), lumG + cosVal * (1 - lumG) + sinVal * (0.140f), lumB + cosVal * (-lumB) + sinVal * (-0.283f), 0, 0,
lumR + cosVal * (-lumR) + sinVal * (-(1 - lumR)), lumG + cosVal * (-lumG) + sinVal * (lumG), lumB + cosVal * (1 - lumB) + sinVal * (lumB), 0, 0,
0f, 0f, 0f, 1f, 0f,
0f, 0f, 0f, 0f, 1f };
cm.postConcat(new ColorMatrix(mat));
}
我想了解如何使用嘉洛斯來改變亮度以同樣的方式來改變色相。如果有任何其他方式來實現這一點,我打開解決方案:)