Skip to content
This repository was archived by the owner on Apr 3, 2022. It is now read-only.

Latest commit

 

History

History
73 lines (54 loc) · 3.2 KB

README-zhCN.md

File metadata and controls

73 lines (54 loc) · 3.2 KB

banner.png

PY-SIC

PyPI PyPI - Python Version Codacy Badge GitHub commit activity GitHub

English | 简体中文

PY-SIC 是一个简易的 Python 图像转换器。它可以看作是对知名 Python 图形库 Pillow 的包装,不过包含了一个小补丁以使转换得到的 GIF 图片的质量更好更可控。这还要感谢 @egocarib 所提供的变通之法。维护此仓库的想法来自对我的另一个仓库 微博 Emoji 中的脚本进行重构时的新需求。其核心目的是为了增加自动化程度,从而减少转换图片并同时保留文件结构的人工成本。总而言之,PY-SIC 主要可以在以下方面有所作为:

  • 单/多图片转换,支持许多主流图片格式 (TODO:alpha 版本暂只支持 GIF 和 PNG)
  • 用户自定义,包括但不限于控制转换成 GIF 图片时的透明度、展示进度条、保留目录结构和指定输出路径

请注意此项目使用 GPL-3.0 协议

❗ 注意

敲黑板了!敲黑板了!🔥

  1. 截至 2021 年 10 月 17 日,使用 PyCharm 2021.2.2 + Python 3.10.0 开发表现良好。您当然可以使用 Visual Studio Code,但是包引用的部分可能需要做相应的调整来保证功能正确执行。

  2. PY-SIC 应支持 Python 3.6+,并依赖下面所列的包。关于自己构建 PY-SIC 包,请参考项目包依赖

    名称 版本
    Pillow ≥ 8.4.0
    tqdm ≥ 4.62.2

📜 文档

TODO: 由于 PY-SIC 正处于起步阶段,此部分在将来会有很大改动。

安装

pip install py-sic  # 必要时用 pip3。

参考用法

from pysic.engine import SIC
from pysic.errors import EmptyInputError
from pysic.pillow_gif_patch import ALPHA_THRESHOLD

FAIL = "Fail:"
sic = SIC(
    has_pbar=True,  # 是否展示进度条。
    input_path="your/path/to/input"  # 要转换的图片路径或所在目录。
)

try:
    sic.convert(
        alpha_threshold=ALPHA_THRESHOLD,  # 透明度。
        has_init_output=False,  # 是否在转换前清空输出路径。
        has_input_structure=True,  # 是否保留目录结构。
        output_dir="your/path/to/output"  # 输出路径。
        to_fmt=to_fmt  # 要转换的格式。
    )
except EmptyInputError as empty_input:
    print(FAIL, empty_input)
except FileExistsError as file_exists:
    print(FAIL, file_exists)
except FileNotFoundError as input_not_found:
    print(FAIL, input_not_found)
except ValueError as value:
    print(FAIL, value)

希望您觉得有帮助!💖