gpt4 book ai didi

python - 使用 Python 的文本阴影

转载 作者:太空狗 更新时间:2023-10-30 02:04:38 34 4
gpt4 key购买 nike

我使用 PIL 在图像上添加了一些文本

我想添加一个文本阴影,具有一定的阴影半径和阴影不透明度。

在我绘制一些文本之前,我可以通过绘制阴影来伪造它(效果不太好),然后将其放置在文本上方一点。

    draw.text((x, y + 2), text, font = some_font, fill = (208,208,208)) #shadow
draw.text((x, y), text, font = some_font, fill = (255,255,255)) #text

但是,这种方法不允许阴影半径、不透明度 css 样式属性。

有没有更好的方法用 Python 创建文本阴影?如果是,怎么办?

最佳答案

看看这些例子。

Example 1

Example 2

最后一个与您尝试的有点相似。

import Image, ImageFont, ImageDraw

import win32api, os

x, y = 10, 10

fname1 = "c:/test.jpg"
im = Image.open(fname1)
pointsize = 30
fillcolor = "red"
shadowcolor = "yellow"

text = "hi there"

font = win32api.GetWindowsDirectory() + "\\Fonts\\ARIALBD.TTF"
draw = ImageDraw.Draw(im)
font = ImageFont.truetype(font, pointsize)

# thin border
draw.text((x-1, y), text, font=font, fill=shadowcolor)
draw.text((x+1, y), text, font=font, fill=shadowcolor)
draw.text((x, y-1), text, font=font, fill=shadowcolor)
draw.text((x, y+1), text, font=font, fill=shadowcolor)

# thicker border
draw.text((x-1, y-1), text, font=font, fill=shadowcolor)
draw.text((x+1, y-1), text, font=font, fill=shadowcolor)
draw.text((x-1, y+1), text, font=font, fill=shadowcolor)
draw.text((x+1, y+1), text, font=font, fill=shadowcolor)

# now draw the text over it
draw.text((x, y), text, font=font, fill=fillcolor)

fname2 = "c:/test2.jpg"
im.save(fname2)

os.startfile(fname2)

关于python - 使用 Python 的文本阴影,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18974194/

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