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')

效果

很强!


系列文章索引

Python(一)关键字、内置函数

Python(二)基本数据类型

Python(三)数据类型转换

Python(四)字符串

Python(五)数字

Python(六) 列表

Python(七) 条件控制、循环语句

Python(八) 字典

Python(九) 集合

Python (十) 元组


?

?

文章来源:https://blog.csdn.net/feikillyou/article/details/134960389
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。