首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将聚光灯添加到图像

如何将聚光灯添加到图像
EN

Stack Overflow用户
提问于 2008-11-10 15:01:13
回答 2查看 130关注 0票数 1

我有一个图像,我想展示一些‘聚光灯’,就像他们在电视上做的那样。图像的其余部分应该比原始图像更暗,我聚光灯下的人应该是正常的。我有聚光灯的x,y和半径,但我不确定如何改变该位置的亮度。

此外,如果我有两个聚光灯,并且它们相交,那么相交点应该比任何一个聚光灯都亮。

EN

回答 2

Stack Overflow用户

发布于 2008-11-10 16:00:18

在原始图像和子图像上使用RescaleOp。假设您有一个包含该图像的缓冲图像(名为biDest),请对其调用RescaleOp(0.6,0,null)以使其变暗。然后,要添加(矩形)聚光灯,请调用以下代码:

代码语言:javascript
复制
    public void spotLight(int x, int y, int w, int h)
    {
        BufferedImage i = biDest.getSubimage(x, y, w, h);

        RescaleOp rescale = new RescaleOp(SPOTLIGHT_BRIGHTNESS, 0, null);
        rescale.filter(i, i);

        repaint();
    }
票数 1
EN

Stack Overflow用户

发布于 2008-11-10 15:17:16

一种简单的方法是将颜色转换为HSL,降低L以变暗,增加以变亮,然后转换回RGB并设置像素。

http://www.mpa-garching.mpg.de/MPA-GRAPHICS/hsl-rgb.html

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

https://stackoverflow.com/questions/278068

复制
相关文章

相似问题

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