Dav*_*vid 20 linux image-manipulation image image-processing
我需要优化一些图像,但不要更改它们的名称.
jpegtran -copy none -optimize image.jpg > image.jpg
Run Code Online (Sandbox Code Playgroud)
但是,这似乎创建了一个0的文件大小.当我使用不同的文件名时,大小仍然完全相同.
so1*_*311 27
怎么样:
jpegtran -copy none -optimize -outfile image.jpg image.jpg
Run Code Online (Sandbox Code Playgroud)
我无论如何都不是shell专家,但我认为使用原始命令,一旦执行,就会设置重定向,覆盖你的image.jpg.然后,当jpegtran尝试读取它时,它会找到一个空文件.
imo*_*mos 10
我用这个脚本.工作完美无瑕.我希望这有帮助.
https://gist.github.com/iimos/7424025
#! /bin/sh
EXTENSIONS="jpe?g"
if [ -z "$1" ]; then
DIR="`pwd`"
else
DIR="$1"
fi
# Optimize JPEG images
find "$DIR" -regextype posix-egrep -regex ".*\.($EXTENSIONS)\$" -type f | xargs -I{} jpegtran -optimize -progressive -outfile "{}.optimized" "{}"
# Rename xxx.jpg.optimized -> xxx.jpg
find "$DIR" -name '*.optimized' -print0 | while read -d $'\0' file; do
chown $(stat -c "%U:%G" "${file%.optimized}") "$file"
chmod $(stat -c "%a" "${file%.optimized}") "$file"
mv -f "$file" "${file%.optimized}";
done
Run Code Online (Sandbox Code Playgroud)
用法1:
optimize-images.sh /images/dir
Run Code Online (Sandbox Code Playgroud)
用法2:
cd /images/dir
optimize-images.sh
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22125 次 |
| 最近记录: |