python编写一个图片编辑程序,功能包括:放大、缩小、裁剪、黑白照、添加水印等功能。
时间: 2023-07-10 11:32:10 浏览: 57
好的,以下是一个基于Python和Pillow库的简单图片编辑程序,可以实现放大、缩小、裁剪、黑白照、添加水印等功能。请注意,该程序仅供参考,具体实现方式可能因环境、库版本等因素而略有不同。
```python
from PIL import Image, ImageDraw, ImageFont
# 打开图片
img = Image.open("example.jpg")
# 放大图片
img_zoomed = img.resize((img.width*2, img.height*2))
# 缩小图片
img_shrinked = img.resize((img.width//2, img.height//2))
# 裁剪图片
img_cropped = img.crop((0, 0, img.width//2, img.height//2))
# 黑白照
img_bw = img.convert('L')
# 添加水印
draw = ImageDraw.Draw(img)
text = "Watermark"
font = ImageFont.truetype("arial.ttf", 36)
textwidth, textheight = draw.textsize(text, font)
x = img.width - textwidth - 10
y = img.height - textheight - 10
draw.text((x, y), text, font=font, fill=(255, 255, 255, 128))
# 保存图片
img_zoomed.save("example_zoomed.jpg")
img_shrinked.save("example_shrinked.jpg")
img_cropped.save("example_cropped.jpg")
img_bw.save("example_bw.jpg")
img.save("example_with_watermark.jpg")
```
说明:
- 图片文件名为 example.jpg。
- 放大图片使用了 `resize()` 方法,将图片宽高均扩大一倍。
- 缩小图片同样使用了 `resize()` 方法,将图片宽高均缩小一半。
- 裁剪图片使用了 `crop()` 方法,将图片左上角到中心的区域裁剪出来。
- 黑白照使用了 `convert()` 方法,将图片转换为灰度图像。
- 添加水印使用了 `ImageDraw` 模块中的 `Draw()` 方法,绘制了白色半透明的文本水印。
- 所有处理完的图片都保存在同一目录下。