4

私はandroid.iで画像操作ソフトウェアを開発しています.特定の画像の明るさを変更したい.コードでどのように行うことができますか?

4

2 に答える 2

7

私は現時点でこのようなものを使用しています:

if (brighter)
{
    darknessPaint.setColorFilter(new PorterDuffColorFilter(Color.argb(level, 255, 255, 255), Mode.SRC_OVER));
}
else
{
    darknessPaint.setColorFilter(new PorterDuffColorFilter(Color.argb(level, 0, 0, 0), Mode.SRC_ATOP));
}

darknessCanvas.setBitmap(dst);
darknessCanvas.drawBitmap(src, 0, 0, darknessPaint);

実際、LightningColorFilter または ColorMatrixColorFilter も使用できます。誰かがより良い方法を持っている場合(つまり、まだ試していないJNIを使​​用する以外に、より高速であることを意味します)、私に知らせてください。

于 2011-04-10T19:12:34.740 に答える
3

おそらく and を見たいとLightingColorFilter思うDrawableか、手動で操作を実行したい場合はBitmap- 特にgetPixelsand setPixels(または必要copyPixelsFromBufferに応じて and copyPixelsToBuffer) を見てください。

于 2011-01-21T09:27:08.663 に答える