#image #directory #web #jpeg #input #input-file #foo

app shrink

缩小指定目录中的图像

1 个不稳定版本

0.2.0 2020年1月25日

#69 in #foo

MIT 协议

10KB
164

shrink

为网络缩小图像。

我的相机拍摄高分辨率的图像,我经常想要缩小它们以便在网络上分享。这个程序使用Rust的image库来缩小目录中的所有图像。

$ shrink --help
shrink 0.1.0
Shrink options

USAGE:
    shrink [FLAGS] [OPTIONS] [ARGS]

FLAGS:
    -d, --debug      Activate debug mode
    -h, --help       Prints help information
    -V, --version    Prints version information
    -v, --verbose    Verbose mode (-v, -vv, -vvv, etc.)

OPTIONS:
    -s, --size <size>    Size to make image [default: 800]

ARGS:
    <input>     Input file or directory [default: .]
    <output>    Output file or directory
    
                If the input is a directory "foo", this will default to "foo/shrink". If the input is a file "foo.ext", this
                will default to "foo.shrink.ext".

如果当前工作目录包含以下文件

$ ls -l
total 216
-rw-r--r-- 1 tim tim      0 Nov 30 17:54 foo.bar
---------- 1 tim tim      0 Nov 30 17:54 foo.jpg
-rw-r--r-- 1 tim tim 165666 Dec  6 15:35 NotLDeb.jpg
-rw-r--r-- 1 tim tim  52253 Nov 30 10:43 porygon2.png

那么以详细模式运行 shrink 的结果如下

$ shrink -v
Created output path './shrink'
image file: "./porygon2.png"
image file: "./foo.jpg"
image file: "./NotLDeb.jpg"

source: "./porygon2.png": (326, 548)
destination: "./shrink/porygon2.png":  (475, 800)

Cannot open image "./foo.jpg": Permission denied (os error 13)

source: "./NotLDeb.jpg": (1024, 630)
destination: "./shrink/NotLDeb.jpg":  (800, 492)

$ tree shrink
shrink
├── NotLDeb.jpg
└── porygon2.png

0 directories, 2 files

它创建了一个名为 "shrink" 的目录并将新文件放在那里。或者,您可以指定一个输出目录,它将文件放在那里。您还可以提供一个单个文件,它将在文件扩展名前添加 ".shrink"。或者,您可以指定一个输出文件,它将文件放在那里。

$ shrink NotLDeb.jpg
$ ls -l
-rw-r--r-- 1 tim tim 165666 Dec  6 15:35 NotLDeb.jpg
-rw-r--r-- 1 tim tim  71416 Dec  6 17:53 NotLDeb.shrink.jpg

依赖项

~6.5MB
~100K SLoC