0

Photoshop などのプロの画像編集プログラムの「色から透明度」効果をご存知かもしれません。この効果はどのように行われますか?Python を使用してプログラムで画像に透明度を追加したい (生成された画像で確認できるため、PIL をテストするため)。この効果はいくつかのフラクタルに使用される予定なので、現在のコードは次のとおりです。

i = "i.png"
o = "o.png"

key = (0, 0, 0, 255)

from PIL import Image as I

_i = I.open(i)
_ii = _i.load()

_o = I.new("RGBA", _i.size)
_oo = _o.load()

for x in range(0, _i.size[0]): 
    for y in range(0, _i.size[1]): 
        col = list(_ii[x, y])
        for i in range(0, 4): 
            col[i] = abs(col[i] - key[i])
        _oo[x, y] = tuple(col)

_o.save(o)

両方の色を差し引くことを考えましたが、最終的には黒い画像になります(すべてのアルファが失われます)。もう 1 つの考えは、元の色を 2 倍にして、2 つの色を逆に混合するなど、キーが低いかどうかを確認することでした。

それで、何かアイデアはありますか?

編集

の例

この効果は、GIMP の「色から透明度へ」機能を使用して行われました。#FFF を透明に選択すると、最初はピクセルの色を無視せずに、GIMP が何らかの方法で白を透明にしました。これは、私が実際にやりたいことです。画像のように、画像の色を透明にします。

(2枚目の画像は背景を黒くしたので透明です。元の画像は1枚目と同じで、背景が白、周囲が少し緑、中心が黒です)

4

1 に答える 1