【问题标题】:Java Buffered Image RescaleOp Transparency IssueJava 缓冲图像 RescaleOp 透明度问题
【发布时间】:2012-03-25 15:24:21
【问题描述】:

我似乎遇到了一个问题,我创建了一个 BufferedImage,它具有这样的透明像素:

BufferedImage buff = new BufferedImage(i.getWidth(null), i.getHeight(null), BufferedImage.TYPE_INT_ARGB);

它工作正常,直到我通过 RescaleOp 过滤它以使其变暗。当我这样做时,图像消失了。这是我的完整代码,您可以看到我是如何设置的:

    BufferedImage buff = new BufferedImage(i.getWidth(null), i.getHeight(null), BufferedImage.TYPE_INT_ARGB);
    Graphics2D g = buff.createGraphics();
    g.drawImage(i, 0, 0, null);
    g.dispose();
    RescaleOp filter = new RescaleOp(lightlevel, 0f, null);
    buff = filter.filter(buff, null);

我的问题是,我该如何解决这个问题,以便缓冲图像的像素变暗而不影响透明度?

【问题讨论】:

    标签: java graphics transparency bufferedimage brightness


    【解决方案1】:

    您可以尝试处理 alphaRescaleOp,图示为here,并对所有颜色组件使用相同的lightLevel

    【讨论】:

    • 除了没有偏移之外,我那里没有完全相同的东西吗?
    • 不客气;当您满意时,您可以点击左侧的empty check mark 接受此答案。
    猜你喜欢
    • 2013-05-17
    • 2013-01-22
    • 1970-01-01
    • 1970-01-01
    • 2011-04-14
    • 1970-01-01
    • 2010-11-09
    • 2023-03-28
    • 2010-10-30
    相关资源
    最近更新 更多