Python (六) 绘图
2023-12-13 04:42:48
程序员的公众号:源1024,获取更多资料,无加密无套路!
最近整理了一波电子书籍资料,包含《Effective Java中文版 第2版》《深入JAVA虚拟机》,《重构改善既有代码设计》,《MySQL高性能-第3版》,《Java并发编程实战》等等
获取方式: 关注公众号并回复 电子书 领取,更多内容持续奉上
Pillow中有一个ImageDraw模块,该模块的Draw函数会返回一个ImageDraw对象,通过ImageDraw对象的arc、line、rectangle、ellipse、polygon等方法,可以在图像上绘制出圆弧、线条、矩形、椭圆、多边形等形状,也可以通过该对象的text方法在图像上添加文字。
import random
from PIL import Image, ImageDraw, ImageFont
#生成随机颜色
def random_color():
red = random.randint(0, 255)
green = random.randint(0, 255)
blue = random.randint(0, 255)
return red, green, blue
width, height = 600, 500
# 创建图像
image = Image.new(mode='RGB', size=(width, height), color=(255, 255, 255))
# 创建ImageDraw对象
draw = ImageDraw.Draw(image)
#写文字
draw.text((300, 100), 'Hello Python', fill=random_color())
# 圆弧
draw.arc((0, 0,300,300) , start=0, end=300, fill='red',width=3)
# line方法画直线
draw.line((0, 250, 250, 0), fill=(0, 0, 255), width=2)
draw.line((0, 150, 150, 0), fill=(0, 0, 255), width=2)
xy = width // 2 - 60, height // 2 - 60, width // 2 + 60, height // 2 + 60
xy1 = width // 2 - 30, height // 2 - 30, width // 2 + 30, height // 2 + 30
xy2 = width // 2 - 90, height // 2 -90, width // 2 +90, height // 2 + 90
# rectangle方法画矩形
draw.rectangle(xy, outline=random_color(), width=2)
draw.rectangle(xy1, outline=random_color(), width=2)
draw.rectangle(xy2, outline=random_color(), width=2)
#多边形
draw.polygon([(300, 300), (100, 100), (200, 0),(250,0),(350,0),(400,0)], outline='red')
# ellipse方法画椭圆
w, h = 220, 190
shape = [(40, 40), (160,160)]
draw.ellipse(shape, fill ="#99FF99", outline ="red")
# 显示图像
image.show()
# 保存图像
image.save('image.png')
效果
很强!
系列文章索引
?
?
文章来源:https://blog.csdn.net/feikillyou/article/details/134960389
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!