ImageView の明るさ、コントラスト、彩度、色相を変更しています。私はそれについてたくさん検索しました。
ColorMatrixで動作するコードをいくつか取得しました。
[1.]明るさの場合、ColorMatrixは次のようなものです
float brightness = (-50F * 1.5F);
ColorMatrix cmB = new ColorMatrix();
cmB.set(new float[] { 1, 0, 0, 0, brightness,
0, 1, 0, 0,brightness,
0, 0, 1, 0, brightness,
0, 0, 0, 1, 0 });
myImageView.setColorFilter(new ColorMatrixColorFilter(cmB));
適切に動作します。
[2.] Contrast ColorMatrix の場合はDifferentであり、これも適切に機能します。
しかし、これらすべての ColorMatrix は個別に機能します。最後に適用された ColorMatrix の効果は、ImageView のシーンのみであることを意味します。これは、以前に適用された ColorMatrix の効果を削除し、セットアップが最後に ColorMatrix を適用するためです。
ここで、すべての ColorMatrix を同時にマージまたはミックスアップしたいと考えています。Brightnrs / Saturation / Hue の ColorMatrix の効果に Contrast の ColorMatrix を適用することを意味します。