0
私が持っているプロジェクトでは、テキストを使ってアウトラインを作成しようとしています。全体のアイデアは、元の白いテキストから少し透明な黒いテキストをオフセットすることです。PIL:イメージの上に透明なテキストを描画します
何らかの理由で、黒いテキストが表示されますが、ネットは透明です。ここでMCVEがある:
image = Image.open("spongebob.gif").convert("RGBA")
draw = ImageDraw.Draw(image, "RGBA")
font = ImageFont.truetype("impact.ttf", 25)
draw.text((0, 0), "This text should be 5% alpha", fill=(0, 0, 0, 15), font=font)
image.save("foo.gif")
結果:
私は何を逃したのですか?
から参考例では、私も自分の問題を解決しました。なぜこれがこのように機能しているのか分かりませんか?なぜイメージ上にテキストを直接描画しても効果がありませんか? – FunkySayu
@FunkySayu私はそれがなぜそのように働くのか、決してそれに目を通さないという考えを持っていません。通常の画像エディタ(Paint.NETなど)では、レイヤーのように扱いました。そのレイヤー上に配置した要素の不透明度を調整し、最終的な製品を得るためにマージします。 matplotlibで 'alpha 'のように振る舞わないのはなぜ私の外にあるのですか? –