首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >了解Chromakey

了解Chromakey
EN

Stack Overflow用户
提问于 2017-11-03 16:13:16
回答 1查看 227关注 0票数 1

给定此示例代码,它将所有蓝色替换为新背景:

代码语言:javascript
复制
public void chromakeyBlue(Picture newBg)
{
    Pixel [] pixelArray = this.getPixels();
    Pixel currPixel = null; 
    Pixel newPixel = null;

    for (int i = 0; i < pixelArray . length ; i++) { 
        currPixel = pixelArray [ i ];

        if (currPixel.getRed() + currPixel.getGreen() < currPixel . getBlue ())
        { 
            newPixel = newBg.getPixel(currPixel.getX(), 
                                      currPixel.getY ( ) ) ;
            currPixel . setColor ( newPixel . getColor ( ) ) ;
        } 
    }
}

我想知道如果使用这个条件:

代码语言:javascript
复制
currPixel.getRed() < currPixel.getBlue() && currPixel.getGreen() < 
currPixel.getBlue()

在if语句上,判断它是否可以工作。换句话说,使用该条件是否具有与currPixel.getRed() + currPixel.getGreen() < currPixel . getBlue ()相同的效果

EN

回答 1

Stack Overflow用户

发布于 2017-11-04 06:18:17

currPixel.getRed() + currPixel.getGreen() < currPixel.getBlue()将测试蓝色是否大于红色+绿色的总和。因此,如果RGB为10,10,15,则此条件的计算结果为false。

currPixel.getRed() < currPixel.getBlue() && currPixel.getGreen() < currPixel.getBlue()将测试蓝色是否大于红色以及蓝色是否大于绿色。因此,如果RGB为10,10,15,则此条件的计算结果为true。

所以不,这两个条件不会有相同的效果。(如果它们在视觉上看起来很相似,那可能只是巧合的测试结果)

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

https://stackoverflow.com/questions/47091138

复制
相关文章

相似问题

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