news 2026/4/23 20:08:42

Python Matplotlib 中绘制指定像素大小的图像

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python Matplotlib 中绘制指定像素大小的图像

Python Matplotlib 中绘制指定像素大小的图像

flyfish

像素尺寸 = 英寸尺寸 × dpi

Matplotlib 的figsize参数以英寸为单位,dpi(dots per inch)表示每英寸的像素数。

目标像素宽度 = 英寸宽度 × dpi
目标像素高度 = 英寸高度 × dpi

反过来,若要指定像素尺寸(如 800×600),需先计算对应的英寸尺寸:
英寸宽度 = 目标像素宽度 / dpi
英寸高度 = 目标像素高度 / dpi

示例

展示如何创建并保存800×600 像素的图像

importmatplotlib.pyplotaspltfromPILimportImage# 用于验证保存的图像像素尺寸# --------------------------# 1. 定义目标像素尺寸和dpi# --------------------------target_width_px=800# 目标宽度(像素)target_height_px=600# 目标高度(像素)dpi=100# 每英寸像素数(可调整,如72/96/150/300)# --------------------------# 2. 计算figsize(英寸)# --------------------------figsize=(target_width_px/dpi,# 英寸宽度target_height_px/dpi# 英寸高度)# --------------------------# 3. 创建画布并绘制内容# --------------------------# 创建figure,指定尺寸和dpi(关键!)fig,ax=plt.subplots(figsize=figsize,dpi=dpi)# 绘制示例内容(折线图)ax.plot([1,2,3,4],[1,4,2,3],linewidth=2)ax.set_title('800×600',fontsize=12)ax.set_xlabel('X轴',fontsize=10)ax.set_ylabel('Y轴',fontsize=10)# 可选:调整子图间距(避免空白裁剪影响像素精度)plt.subplots_adjust(left=0.1,right=0.9,top=0.9,bottom=0.1)# --------------------------# 4. 保存图像(确保像素准确)# --------------------------# 保存时指定相同的dpi,避免缩放;bbox_inches='tight'会裁剪空白,如需严格像素请去掉plt.savefig('output_800x600.png',dpi=dpi,# 与画布dpi一致bbox_inches=None# 不裁剪空白(保证像素精确))# 显示图像(窗口大小受系统影响,但保存的像素是准确的)plt.show()# --------------------------# 5. 验证保存的图像像素尺寸# --------------------------img=Image.open('output_800x600.png')actual_width,actual_height=img.sizeprint(f"实际保存的像素尺寸:{actual_width}×{actual_height}")# 输出:800×600

dpi的常见取值
屏幕显示:72/96/100 dpi
打印/高清:150/300 dpi

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!