带有集成 optipng 或 pngcrush 的截图工具

rub*_*o77 4 compression screenshot png

这是一个后续问题

如何获得最大压缩截图?

是否有截图工具已经 optipngpngcrush已经包括来最小化png截图的文件大小?

我个人最喜欢Shutter,但是任何可以创建优化 png 的屏幕截图器都会很棒。

也许有可用的插件?

Rom*_*uet 5

如果您最喜欢的工具是“快门”,您可以尝试为它创建一个小插件。

为快门创建插件。

1)确保你已经安装了 optipng,或者使用以下命令安装它:

  • sudo apt-get install optipng

2)如果快门正在运行,请关闭它或杀死它。

  • pkill shutter

3)为插件创建一个文件夹并为其提供正确的权限。(例如:optipngplugin)

  • sudo mkdir /usr/share/shutter/resources/system/plugins/shell/optipngplugin

  • sudo chmod 755 /usr/share/shutter/resources/system/plugins/shell/optipngplugin

4)创建脚本(例如:optipngplugin)

  • gksudo gedit /usr/share/shutter/resources/system/plugins/shell/optipngplugin/optipngplugin

5)将此内容放入脚本中:

#!/usr/bin/env bash
TEXTDOMAIN=shutter-plugins
TEXTDOMAINDIR=$SHUTTER_INTL
PLUGIN_NAME=$"OptiPNG Plugin"
PLUGIN_SORT=$"Recompress"
PLUGIN_TIP=$"OptiPNG is a PNG optimizer that recompresses image files to a smaller size"
PLUGIN_EXT="image/png"
if [[ "${1}" = "name" ]];then
    echo "${PLUGIN_NAME}"
    exit 0
elif [[ "${1}" = "sort" ]];then
    echo "${PLUGIN_SORT}"
    exit 0
elif [[ "${1}" = "tip" ]];then
    echo "${PLUGIN_TIP}"
    exit 0
elif [[ "${1}" = "ext" ]];then
    echo "${PLUGIN_EXT}"
    exit 0
fi
FILE="${1}"
#LOGO="/usr/share/shutter/resources/system/plugins/shell/optipngplugin/optipngplugin.png"
optipng -o7 "${FILE}"
exit 0
Run Code Online (Sandbox Code Playgroud)

就我而言,我将 OptiPNG 的优化级别选择为 Maximun (-o7) (非常慢),并添加了一个图像作为徽标。

手册页

在此处输入图片说明

注意: 随意根据您的需要更改脚本

6)保存更改并授予权限。

须藤 chmod 755 /usr/share/shutter/resources/system/plugins/shell/optipngplugin/optipngplugin

7)在我的例子中,我用 gimp 编辑了一个 png 标志,并在我的桌面中保存为“optipngplugin.png”

在此处输入图片说明

8)将logo复制到插件目录下(给插件同名加号.png)和正确的权限:

须藤cp /home/user/Desktop/optipngplugin.png /usr/share/shutter/resources/system/plugins/shell/optipngplugin/optipngplugin.png

须藤 chmod 644 /usr/share/shutter/resources/system/plugins/shell/optipngplugin/optipngplugin.png

9)测试插件。打开快门并截取桌面的屏幕截图。

在此处输入图片说明

右键单击屏幕截图并单击“运行插件...”,然后从列表中选择“OptiPNG 插件”。

在此处输入图片说明

10)运行插件以重新压缩您拍摄的屏幕截图。

在此处输入图片说明

注意:如果您必须向脚本添加某些内容或进行某些更改。你可以用这个命令运行shutter来强制它重新加载所有插件

  • shutter --clear_cache

希望它的帮助。