gpt4 book ai didi

java - 了解色度键

转载 作者:行者123 更新时间:2023-11-30 06:26:34 25 4
gpt4 key购买 nike

鉴于此示例代码将所有蓝色替换为新背景:

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 ( ) ) ;
}
}
}

我想知道是否使用这个条件:

currPixel.getRed() < currPixel.getBlue() && currPixel.getGreen() < 
currPixel.getBlue()

关于 if 语句,它是否有效。换句话说,使用该条件是否与 currPixel.getRed() + currPixel.getGreen() < currPixel . getBlue () 具有相同的效果?

最佳答案

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

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

所以不,这两种情况不会产生相同的效果。 (如果视觉上它们看起来相似,那可能只是巧合的测试结果)

关于java - 了解色度键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47091138/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com