gpt4 book ai didi

Python `aggdraw` 模块错误(?): visible alpha channel

转载 作者:太空宇宙 更新时间:2023-11-03 19:28:58 27 4
gpt4 key购买 nike

想象一下简单的脚本:

from PIL import Image
from aggdraw import Draw, Brush

im = Image.new("RGBA", (600, 600), (0, 0, 0, 0))
draw = Draw(im)

brush = Brush("yellow")

draw.polygon(
(
50, 50,
550, 60,
550, 550,
60, 550,
),
None, brush
)

draw.flush()
im.save("2.png")

结果: enter image description here

(抱歉尺寸太大,但这样更清楚)

问题是:你能看到非黄色和非白色的边缘吗?这是阿尔法 channel 什么的。

当我尝试仅使用 PILDraw 对象执行此操作时 - 它看起来清晰且良好,但没有抗锯齿。

但是使用aggdrawDraw对象,它看起来是抗锯齿的,但是有丑陋的脏边缘。

我需要具有非标准边角的多边形。简单的盒子不是我想要的。

请帮我提供一些乐观的答案来解决这个问题。

最佳答案

这是因为你的背景是黑色的,但是是透明的。如果将图像背景设置为白色,则不会看到可见边缘。在我的简单测试中,透明或纯白色都有效。

尝试这些值:

transBlack = (0, 0, 0, 0)         # shows your example with visible edges
solidBlack = (0, 0, 0, 255) # shows shape on a black background
transWhite = (255, 255, 255, 0)
solidWhite = (255, 255, 255, 255)

im = Image.new("RGBA", (600, 600), solidWhite)

关于Python `aggdraw` 模块错误(?): visible alpha channel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6942039/

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