创建一个基础版本的签名合成代码如下:
```python
from PIL import Image, ImageDraw, ImageFont
def create_signature(name, font_path, output_path):
创建一个白底图片
width, height = 500, 200
image = Image.new("RGB", (width, height), "white")
draw = ImageDraw.Draw(image)
加载字体
font = ImageFont.truetype(font_path, 72)
计算文字的位置,让它居中
text_width, text_height = draw.textsize(name, font=font)
x = (width - text_width) // 2
y = (height - text_height) // 2
绘制签名
draw.text((x, y), name, fill="black", font=font)
保存图片
image.save(output_path)
print(f"签名图片已保存到 {output_path}")
使用函数create_signature("John", "arial.ttf", "signature.png")
```
代码说明:
导入必要的库
`PIL` 用于处理图像。
`ImageDraw` 用于在图像上绘制文本。
`ImageFont` 用于加载字体文件。
定义函数 `create_signature`
参数 `name`:签名者的名字。
参数 `font_path`:字体文件的路径。
参数 `output_path`:输出签名图片的路径。
创建白底图片
定义图片的宽度和高度。
使用 `Image.new` 创建一个白色背景的图像。
加载字体
使用 `ImageFont.truetype` 加载字体文件。
计算文字位置
使用 `draw.textsize` 计算名字的宽度和高度。
计算名字在图片中居中的位置。
绘制签名
使用 `draw.text` 在图片上绘制名字。
保存图片
使用 `image.save` 将图片保存到指定路径。
使用示例:
```python
create_signature("John", "arial.ttf", "signature.png")
```
这个代码将创建一个包含名字的签名图片,并保存为 `signature.png`。你可以根据需要调整图片的大小、字体和颜色。