我正在android中开发图像处理软件。我想改变特定图像的亮度。如何在代码中完成?
问问题
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
您可能想查看LightingColorFilter
and Drawable
,或者如果您想手动执行操作,请查看Bitmap
- 特别是getPixels
and setPixels
(或者copyPixelsFromBuffer
如果copyPixelsToBuffer
您愿意)。
于 2011-01-21T09:27:08.663 回答