Imagine micșorată vorbire localhost
127.0.0.1

Aici am găsit un script pentru imagemagick care micșorează o dimensiune a imaginii până când are o anumită dimensiune în KB. De cele mai multe ori, totuși, nu am nevoie de ajustări de dimensiune, ci doar de o „reducere a greutății” cu imagini care au fost deja ajustate în dimensiune.
Un script pentru redimensionarea unui singur fișier fără a manipula dimensiunile ar putea arăta astfel:
#!/bin/bash
dacă [$ # -ne 2]
atunci
echo -e "\ nusage: $ 0 \ n"
Ieșire
fi
IMAGE_FORMAT = jpg
FILE_SIZE_LIMIT = $ 1
IMAGE_IN = 2 USD
BASENAME = `echo $ | cut -d ‘.‘ -f-1 `
IMAGE_OUT = $. Smaller.jpg
FILE_SIZE = `ls -sk $ IMAGE_IN | tăiați -d ‘‚ -f1`
dacă [$ FILE_SIZE -ge $ FILE_SIZE_LIMIT]
atunci
ecou „reducând $ IMAGE_IN de la: $ FILE_SIZE KB la $ 1 KB”
SIZE = `identifica $ IMAGE_IN | tăiați -d ‘‚ -f7`
S = „ecou SIZE $”
ecou „SIZE: $”
CAL = 100
în timp ce [$ FILE_SIZE -ge $ FILE_SIZE_LIMIT]
do
să QUAL = QUAL-1
ecou „Calitatea actuală: $”
converti $ IMAGE_IN -calitate $ $ IMAGE_OUT
FILE_SIZE = `ls -sk $ IMAGE_OUT | tăiați -d ‘‚ -f1`
ecou „Dimensiunea fișierului curent: $ FILE_SIZE KB”
Terminat
mv $ IMAGE_OUT $. $. $
fi
Introduceți fragmentul de cod de mai sus într-un fișier text pentru propriile experimente și ajustări (să-l numim filesize.sh) și faceți-l executabil.
apoi face bild.jpg 100kb și salvează rezultatul în fișier
Cu toate acestea, de multe ori trebuie să editați foldere întregi - ceea ce s-ar putea face și cu scriptul de mai sus:
find/path/to/folder -iname "* .jpg" -exec filesize.sh 100 <> \;
De obicei, este aplicat mult prea gros, deoarece fără un script se poate face astfel:
pentru i în `ls * .jpg`; nu converti -calitate 80 $ i conv_ $ i; Terminat
Uită-te apoi la rezultat
și scrie, dacă nu se potrivește, puneți un număr mai mic după -calitate după utilizarea primei treceri
a șters. Până se potrivește. Rapid și murdar.
După ce liniile au fost introduse o dată, acestea se află în istoria lui Bash și pot fi apelate rapid cu tastele cursorului în sus sau căutate și găsite zile mai târziu cu [Ctrl] [R].