私はandroid.iで画像操作ソフトウェアを開発しています.特定の画像の明るさを変更したい.コードでどのように行うことができますか?
8058 次
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
- 特にgetPixels
and setPixels
(または必要copyPixelsFromBuffer
に応じて and copyPixelsToBuffer
) を見てください。
于 2011-01-21T09:27:08.663 に答える