PyImgBatch是一个用于python的批处理图像处理器,包括一个命令行接口。

pyimgbatch的Python项目详细描述


皮姆巴奇

PyImgBatch是一个用于python的批处理图像处理器,包括一个命令行接口。在

安装

对于安装,请打开一个终端并在命令行中键入以下行。在

pip install pyimgbatch

文件

有关更多信息,请阅读文档:

https://soeren-kirchner.github.io/pyimgbatch/quickstart.html

命令行上的用法

最简单的用法是使用

^{pr2}$

和类型

pyimgbatch --width 300

这将根据源文件的纵横比将当前文件夹中所有支持的图像文件的宽度调整为300像素。结果将写入“dest”子文件夹。在

或者,可以设置包含要转换的图像的源文件夹和/或结果的目标文件夹,如下所示。在

pyimgbatch --source source_folder --dest destination_folder --height 400

或更短

pyimgbatch -s source_folder -d destination_folder --height 400

这将把source_文件夹中的图像转换为400px的高度,并将结果存储在目标文件夹中。
注意:对于每个源映像,将在目标文件夹内创建一个子文件夹。要避免这种行为,请使用--nosubfolder参数。

项目文件

PyImgBatch的一个特性是从给定的图像文件创建多个不同的版本。在

为此,可以使用项目文件。项目文件是包含图像处理规范的JSON文件。在

很短的那个

这里有一个很短的例子。在

[{"width":1000,"suffix":".w1000"},{"height":1200,"suffix":".h1200"}]

例如(项目名为myprj.json文件“):

pyimgbatch -c myprj.json

生成以下输出:

processing: french-bulldog-4530685.jpg
creating: french-bulldog-4530685.w1000.jpg
creating: french-bulldog-4530685.h1200.jpg
processing: coast-4478424.jpg
creating: coast-4478424.w1000.jpg
creating: coast-4478424.h1200.jpg
...
processing: beaded-2137080_1920-cmyk-iso-eci.tif
creating: beaded-2137080_1920-cmyk-iso-eci.w1000.jpg
creating: beaded-2137080_1920-cmyk-iso-eci.h1200.jpg
...

并为每个源图像创建两个图像,调整为指定的宽度或高度,并在原始名称中添加后缀。在

短的那个

想象一下,您需要为您的web项目的所有图像创建不同的大小。例如,您需要图像的宽度为180px、300px、400px和一个高度为800的图像,每个图像的大小是智能手机中更高像素密度显示的2倍和3倍。 下面是一个例子。在

{"name":"web set","comment":"some sample pictures","source":"webset/source","dest":"webset/dest","prefix":"web.","configs":[{"width":180,"suffix":".w180","webset":"@3x"},{"width":300,"suffix":".w300","webset":"@3x"},{"width":400,"suffix":".w400","webset":"@3x"},{"height":800,"prefix":"preview.","webset":"@3x"}]}

这将为每个输入图像创建12个目的地图像。对于图像“lama-4540160.jpg”,您可以得到:

...
creating: lama-4540160/web.lama-4540160.w180@1x.jpg
creating: lama-4540160/web.lama-4540160.w180@2x.jpg
creating: lama-4540160/web.lama-4540160.w180@3x.jpg
creating: lama-4540160/web.lama-4540160.w300@1x.jpg
creating: lama-4540160/web.lama-4540160.w300@2x.jpg
creating: lama-4540160/web.lama-4540160.w300@3x.jpg
creating: lama-4540160/web.lama-4540160.w400@1x.jpg
creating: lama-4540160/web.lama-4540160.w400@2x.jpg
creating: lama-4540160/web.lama-4540160.w400@3x.jpg
creating: lama-4540160/preview.lama-4540160@1x.jpg
creating: lama-4540160/preview.lama-4540160@2x.jpg
creating: lama-4540160/preview.lama-4540160@3x.jpg
...

如您所见,您可以指定默认值,因此不需要重复自己的操作。 使用更具体的选项,而不是更一般的选项。所以在这个例子中,除了最后一个之外,所有的图像都有前缀“web”,因为更具体的前缀在这里被指定为“preview”

提示:文件名有点奇怪,因为我已经从免费图片库pixabay下载了这些图片,而且我没有更改名称,这样你可以根据需要搜索图片或摄影师。

完整图像项目文件

如下所示。在

{"comment":"pyImgBatch demo project","debug":true,"no-progess":false,"projects":[{"name":"web set","comment":"some sample pictures","source":"webset/source","dest":"webset/dest","prefix":"web.","configs":[{"width":180,"suffix":".w180","webset":"@3x"},{"width":300,"suffix":".w300","webset":"@3x"},{"width":400,"suffix":".w400","webset":"@3x"},{"height":800,"prefix":"preview.","webset":"@3x"}]},{"name":"images to thumbnails","source":"to-thumbnails/originals","dest":"to-thumbnails/thumbnails","subfolder":false,"prefix":"thumb.","configs":[{"height":300},{"prefix":"smallthumb.","height":200}]}]}

此项目包含两个项目。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何使用MVC设计模式观察嵌套对象   java将多个客户端连接到服务器   合并Java Web应用程序   Spring Security中未捕获java AuthenticationSuccessEvent   java Firebase JSON到Arraylist内部的Arraylist,存在对象问题   在Java15的sealedclasses特性中,final类和非密封类之间有什么区别?   java我可以使用数组。copyOf制作二维数组的防御副本?   java球不会在屏幕上移动   Java类如何在同一个文件中包含两个类?   java使用“Character.isWhiteSpace”删除所有空白   java阻止在RealmList中保存时创建领域对象   如何仅在ConnectionFactory上使用Java JMS身份验证   spring可以强制java对象在运行时实现接口吗?   socket无法在JAVA中使用TCP启用双工模式通信