详解使用Python脚本将jpg或者png图片文件转换为矢量格式eps和tiff(包含源码)

文章目录

  • 前言
  • 使用注意事项
  • 代码

前言

投稿论文等同学一般会用到epstiff等图片格式。下面Python脚本实现将现有的jpgpng图片格式转换为所需的epstiff图片格式,需要的小伙伴自取。

使用注意事项

  1. 安装本脚本所需的tdqmpillow两个Python库。
pip install tqdm pillow
  1. 降本脚本内容复制到一个python文件中。
  2. 设置脚本参数:source_dir表示jpg等原图片所在文件夹地址;des_dir表示目标图片存储目录(如果为None,则为本脚本所在目录);des_suffix表示所需图片的格式,默认eps。
  3. 执行脚本。

代码

#!/usr/bin/env python3
# -*- encoding utf-8 -*-

'''
@文件: convert2eps.py
@时间: 2023-08-10 14:57:03
@作者: KRISNAT TANG
@版本: 0.0.0
@邮箱: [email protected]
@版权所有: (C)Copyright 2023, KRISNAT
@描述: 将输入文件夹下面的图片转换为指定格式的图片并存储在指定文件夹中
'''


# 引入标准库
import os
import logging
from pathlib import Path


# 引入第三方库
from tqdm import tqdm
from PIL import Image


# 一些预设或者全局函数等
logging.basicConfig(format="%(message)s", level=logging.INFO, encoding="utf-8")  # python日志管理工具的预设


def convert2eps(source_dir: str = "./", des_dir: str = None, des_suffix: str = "eps"):
    """将source_dir文件夹下面的所有指定格式的图片转换为同名的eps图片, 并保存在des_dir文件下面"""
    if des_dir is None:
        des_dir = des_suffix
        if not os.path.exists(path=Path(des_dir)):
            os.makedirs(name=Path(des_dir))

    img_suffixes = ["jpg", "png"]  # 需要转换成eps的图片格式
    # 检查source_dir及其中的图片
    if not os.path.exists(path=source_dir):
        logging.info("您输入的图片文件夹源地址不存在!")
        os._exit(0)
    else:
        img_names = [file for file in os.listdir(path=source_dir) if file.endswith(img_suffixes[0]) or file.endswith(img_suffixes[1])]
        img_num = len(img_names)
        if img_num == 0:
            logging.info("夹源地址不存在待转换图片!")
            os._exit(0)
        
    with tqdm(total=img_num, unit="img", leave=True, colour="red") as pro_bar:
        pro_bar.set_description_str(f"转换为 {des_suffix}")
        for img_name in img_names:
            img = Image.open(fp=Path(source_dir, img_name))
            des_addr = Path(des_dir, img_name.split(".")[0]+"." + des_suffix)
            with open(file=des_addr, mode="w") as wf:
                img.save(fp=des_addr, format=des_suffix)
            pro_bar.update(1)


if __name__ == "__main__":
    convert2eps(source_dir="./")

收集整理和创作不易, 若有帮助, 请帮忙点赞收藏❤️, 谢谢!✨✨

你可能感兴趣的:(Python,python,linux)