【发布时间】:2012-09-30 14:11:06
【问题描述】:
我正在使用RescaleOp 来增亮我的图像,我的问题是,如果我使用黑色(0,0,0)和白色(255,255,255),它们的效果完全相同。
我可以猜到为什么,0(黑色 RGB 值)x 1.3(亮度因子)= 0,而白色像素不能高于 255,因此它们保持不变,我对剩余的白色像素感到满意相同。
另一方面,如果我使图像变暗,我会得到想要的结果,因为白色像素会变暗,255(白色 RGB 值)* .8(亮度系数)=/= 255,而黑色像素不能低于 0,因此它们保持不变。
如何使黑色像素变亮,就像使用 BufferedImageOp 使白色像素变暗一样?
这里是rescale操作
float scale = 1.3f;//This is the aformentioned "Brightness Factor"
RescaleOp op = new RescaleOp(new float[] {scale,scale,scale, 1}, new float[4], null);
BufferedImage brightImage = op.filter(...);
感谢当前的答案,但我不知道如何将它们应用于我的问题。
【问题讨论】:
标签: java graphics bufferedimage