修改图像dpi大小

1、使用ppt

(1)打开命令行输入:regedit

(2)找到计算机\HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\PowerPoint\Options

(3)修改ExportBitmapResolution

(4)打开ppt,选中需要导出的图片,点击文件

(5)点击另存为,选择需要的格式

2、使用python在不改变dpi大小的情况下,压缩图片大小

复制代码
import os
from PIL import Image

# 1. 直接指定文件夹路径
folder_path = r'C:\Users\lenovo\Desktop\Manuscriptfigure'
file_name = 'Fig7.tif'

# 使用 os.path.join 自动处理斜杠和空格,这是最稳妥的方法
input_path = os.path.join(folder_path, file_name)
output_path = os.path.join(folder_path, 'Fig6_compressed.tif')

# 检查文件到底在不在
if not os.path.exists(input_path):
    print(f"【诊断信息】文件不存在!")
    print(f"尝试读取的完整路径是: {input_path}")
    print(f"当前文件夹下的文件列表: {os.listdir(folder_path)}")
else:
    try:
        print(f"找到文件,正在处理 2.02 GB 的大文件,请稍候...")
        # 注意:2GB 的 TIFF 非常大,解压时可能需要大量内存
        # 允许 Pillow 处理超大图像(防止恶意解压缩炸弹保护)
        Image.MAX_IMAGE_PIXELS = None 
        
        with Image.open(input_path) as img:
            # 获取并保持 DPI
            original_dpi = img.info.get('dpi', (650, 650))
            
            # 使用 LZW 压缩保存
            img.save(
                output_path, 
                compression="tiff_lzw", 
                dpi=original_dpi
            )
            
        new_size = os.path.getsize(output_path) / (1024**3) # 转为 GB
        print(f"处理完成!")
        print(f"压缩后大小: {new_size:.2f} GB")
        print(f"保存路径: {output_path}")
        
    except Exception as e:
        print(f"运行出错: {e}")

输入:

输出为:

相关推荐
喝茶与编码5 小时前
Python异步并发控制:asyncio.gather 与 Semaphore 协同设计解析
后端·python
zone77396 小时前
003:RAG 入门-LangChain 读取图片数据
后端·python·面试
用户8356290780516 小时前
在 PowerPoint 中用 Python 添加和定制形状的完整教程
后端·python
用户962377954487 小时前
🚀 docx2md-picgo:Word 文档图片一键上传图床工具
python·markdown
zone77391 天前
001:简单 RAG 入门
后端·python·面试
F_Quant1 天前
🚀 Python打包踩坑指南:彻底解决 Nuitka --onefile 配置文件丢失与重启报错问题
python·操作系统
允许部分打工人先富起来1 天前
在node项目中执行python脚本
前端·python·node.js
IVEN_1 天前
Python OpenCV: RGB三色识别的最佳工程实践
python·opencv
haosend1 天前
AI时代,传统网络运维人员的转型指南
python·数据网络·网络自动化
曲幽1 天前
不止于JWT:用FastAPI的Depends实现细粒度权限控制
python·fastapi·web·jwt·rbac·permission·depends·abac