4

我正在android中开发图像处理软件。我想改变特定图像的亮度。如何在代码中完成?

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

您可能想查看LightingColorFilterand Drawable,或者如果您想手动执行操作,请查看Bitmap- 特别是getPixelsand setPixels(或者copyPixelsFromBuffer如果copyPixelsToBuffer您愿意)。

于 2011-01-21T09:27:08.663 回答