如何在安卓设备中改变图像亮度?

4

我正在开发一款Android图片处理软件,想要改变特定图片的亮度。请问有什么代码可以实现此功能?


1
Stack Overflow不是一个代码编写服务。你有任何实现吗?有任何想法吗?你已经在使用哪些代码了吗?你在整个过程中到底卡在哪里了? - slhck
1
@slhck,请认真工作,如果你不知道如何完成这项任务,请不要展示给 Stack Overflow 父亲你的自我。 - Ashish Dwivedi
2
这不是一个好的论点。每个人都有权投票或要求澄清。提出更好的问题会得到更好的答案,展示研究努力是其中的关键因素之一。这就是 Stack Exchange 的基础 @ash - slhck
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),请告诉我。


3
你可能需要查看 LightingColorFilterDrawable,或者如果你想手动操作,请查看 Bitmap - 特别是 getPixelssetPixels(或者如果你愿意的话,可以使用 copyPixelsFromBuffercopyPixelsToBuffer)。

1
这个答案很好,但是如果没有示例,使用上述方法可能会难以理解。提供链接将会很有帮助。 - beginners

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接