如何用python在图像上绘制不同笔触和填充颜色的文本?

编程入门 行业动态 更新时间:2024-10-28 12:31:02
本文介绍了如何用python在图像上绘制不同笔触和填充颜色的文本?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

如何使用python在图像上绘制具有不同笔触和填充颜色的文本?

How can I draw text with different stroke and fill colors on images with python?

这是一些红色笔触和灰色填充的文字。

Here is some text with red stroke and gray fill.

我尝试用PIL执行此操作,但没有设置笔触颜色的选项。

I tried to do this with PIL but there was no option for setting the stroke color.

推荐答案

使用 cairo (代码来自此处):

import cairo def text_extent(font, font_size, text, *args, **kwargs): surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, 0, 0) ctx = cairo.Context(surface) ctx.select_font_face(font, *args, **kwargs) ctx.set_font_size(font_size) return ctx.text_extents(text) text='Example' font="Sans" font_size=55.0 font_args=[cairo.FONT_SLANT_NORMAL] (x_bearing, y_bearing, text_width, text_height, x_advance, y_advance) = text_extent(font, font_size, text, *font_args) surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, int(text_width), int(text_height)) ctx = cairo.Context(surface) ctx.select_font_face(font, *font_args) ctx.set_font_size(font_size) ctx.move_to(-x_bearing, -y_bearing) ctx.text_path(text) ctx.set_source_rgb(0.47, 0.47, 0.47) ctx.fill_preserve() ctx.set_source_rgb(1, 0, 0) ctx.set_line_width(1.5) ctx.stroke() surface.write_to_png("/tmp/out.png")

更多推荐

如何用python在图像上绘制不同笔触和填充颜色的文本?

本文发布于:2023-06-08 23:37:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/591024.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:笔触   如何用   图像   文本   颜色

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!