我正在开发一款Android图片处理软件,想要改变特定图片的亮度。请问有什么代码可以实现此功能?
我正在开发一款Android图片处理软件,想要改变特定图片的亮度。请问有什么代码可以实现此功能?
我目前正在使用类似于这样的东西:
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),请告诉我。
LightingColorFilter
和 Drawable
,或者如果你想手动操作,请查看 Bitmap
- 特别是 getPixels
和 setPixels
(或者如果你愿意的话,可以使用 copyPixelsFromBuffer
和 copyPixelsToBuffer
)。