首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >怎样才能使BufferedImage变得“更暗”呢?

怎样才能使BufferedImage变得“更暗”呢?
EN

Stack Overflow用户
提问于 2014-01-14 12:52:41
回答 1查看 56关注 0票数 0

我正在画一幅水彩画

代码语言:javascript
复制
BufferedImage map = ImageIO.read(getClass().getResource("map.png"));

但是我想要么在上面放一个更白的过滤器,要么改变alpha值,这样它就不那么亮了。我试过了

代码语言:javascript
复制
for (int x = 0; x < map.getWidth(); x++) {
        for (int y = 0; y < map.getHeight(); y++)
        {
            int tempcolor = map.getRGB(x, y);
            int newalpha = (60 << 24) | (tempcolor & 0x00ffffff);
            map.setRGB(x, y, newalpha);
        }
        }
g.drawImage(map, 0, 0, this);

但这张照片看上去和原版一模一样。有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-14 13:12:55

您可以使用RescaleOp,因为这样可以处理alpha,

代码语言:javascript
复制
    RescaleOp rescale = new RescaleOp(1.2f, 15, null);
    rescaleOp.filter(image, image); // Source and destination are the same.

参考这个链接也可以帮助你更多

多一个用于亮度控制的链接在这里

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21114054

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档