簡體   English   中英

PIL繪制沒有灰色輪廓的文本

[英]PIL draw text without gray outline

我正在嘗試僅使用PIL為黑白圖像生成文本,但是文本具有要消除的灰色輪廓。

image = np.zeros((600, 600), dtype=np.uint8)
image[:] = 255
img = Image.fromarray(image, 'L')
fnt = ImageFont.truetype('Arial.ttf', 50)
draw = ImageDraw.Draw(img)
draw.text((50,100), 'test , test', font=fnt)

在此處輸入圖片說明

我需要怎么做才能使文本僅顯示為黑色? 周圍沒有灰色區域嗎?

使用ImageFont.getmaskImageFont.getsize方法,我可以創建一個PIL.Image對象,該對象用硬邊PIL.Image文本。

在此處輸入圖片說明

from PIL import Image, ImageFont

fnt = ImageFont.truetype('arial.ttf', 50)
text = 'test, test'
img = Image.new('1', fnt.getsize(text))
mask = [x for x in fnt.getmask(text, mode='1')]
img.putdata(mask)

這個PIL.Image對象( img )可以用來在您需要的任何地方將文本添加到您的圖像中,如果您需要更多有關此信息,我可以為您構建一個示例。 請記住, img.mode'1' ,表示黑白。 每個像素(由img.getpixel返回)為0或255。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM