逐渐淡化图片

rog*_*r34 6 image-manipulation jython fade jes

这个功能的想法是淡化图片的上半部分(使其逐渐变暗).这是我所拥有的,但似乎是所有的上半部分都是黑色的.

def fadeDownFromBlack(pic1):

w=getWidth(pic1)
h=getHeight(pic1)

for y in range(0,h/2):
     for x in range(0,w):
        px=getPixel(pic1,x,y) 
        setBlue(px,y*(2.0/h)) 
        setRed(px,y*(2.0/h)) 
        setGreen(px,y*(2.0/h))
Run Code Online (Sandbox Code Playgroud)

Jus*_*eel 3

我们只看一行:

setBlue(px,y*(2.0/h))
Run Code Online (Sandbox Code Playgroud)

这里的关键部分是

y*(2.0/h)
Run Code Online (Sandbox Code Playgroud)

当你下降时 y 会改变。让我们尝试一些简单的 y 和 h 值。假设 h 为 100,我们将检查 y 何时为 0 和 50 (h/2)。对于 y = 0,我们得到 0。对于 y = 50,我们得到 1。如果颜色值的范围是 256,其中 0 是最暗的,那么难怪这是黑色。您拥有的是从 0. 到 1. 的一系列值,但我猜您想要的是采用该数字并乘以旧颜色值。

你想要的是:

setBlue(px,y*(2.0/h)*getBlue(px))
Run Code Online (Sandbox Code Playgroud)

其他颜色也有类似的情况。