Я пытаюсь сгенерировать PNG
изображение, содержащее некоторый пользовательский текст.
При создании нового холста изображения есть несколько вариантов выбора режима изображения (например: P, PA, RGB, RGBA и т. Д. c).
Когда я использую режим P
, отображаемый текст не сглаживается.
Размер получаемого изображения значительно меньше при использовании режима P
по сравнению с другими режимами, такими как RGB, RGBA так, это было бы моим предпочтением.
Я хотел бы знать, почему рендеринг шрифта зависит от цветовой палитры? Разве режима P
(8-битных пикселей) с 256 цветами недостаточно для отображения шрифта?
Когда я использую несколько таких png
изображений в качестве кадров и генерирую из них GIF
изображение, качество изображения резко уменьшается. 'P' mode"> 'RGB' mode">
Как обсуждено в этой теме , я не хочу изменять размер изображения, которое занимает много времени ,
Ниже приведен код, который я использовал:
fnt = ImageFont.truetype('Assets/somefont.ttf',82)
b = Image.new('P',(680,120),color=255)
#b = Image.new('RGB',(680,120),color=255)
draw = ImageDraw.Draw(b)
#draw.fontmode = "0"
draw.text((b.width/2, (b.height-50)/2), "88", fill=0, font=fnt)
f = BytesIO()
b.save(f, format='PNG')