Yanıtlar:
Lütfen ImageMagick'i kullanmayı deneyin . İlk olarak yükleyin:
$ sudo apt-get install imagemagick
Sonra bunları 6 boyunuza dönüştürmek için küçük bir bash betiği yapabilirsiniz:
#!/bin/bash
# List all the formats you wish to have
SIZES="640x480 800x600 1024x768"
# pass directory as first argument to the script
# Use '.' (current directory) if no argument was passed
DIR=${1:-.}
find $DIR -type f | while read file; do
for size in $SIZES; do
# Resize and rename DSC01258.JPG into DSC01258_640x480.JPG, etc.
# Remove the ! after $size if you do not wish to force the format
convert -resize "${size}!" "$file" "${file%.*}_${size}.${file##*.}"
done
done
Komut dosyasını örneğin kaydedin convert.shve çalıştırın:
chmod +x convert.sh
./convert.sh /path/to/directory # path is optional, it takes '.' as default
Düzenleme: Ben yeniden boyutlandırırken dosyaları geçersiz kılmak değil, ancak örneğin DSC01258_640x480.JPG olarak yeniden adlandırmak mogrifyve dosyaları aslında yeniden adlandırılmış yerine yerine dönüştürmek için emin olmak için komut dosyasını düzenledi . Ayrıca değişkenleri biraz dezenfekte ettim, zarar vermez.
Senaryoyu png dosyaları ile test ettim ve işe yaradı. ImageMagick tarafından desteklenen her türlü görüntü formatı için çalışmalıdır:
$ file wave_bible_bot/*
wave_bible_bot/wave_bible_bot1.png: PNG image, 516 x 308, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot2.png: PNG image, 515 x 428, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot3.png: PNG image, 565 x 384, 8-bit/color RGB, non-interlaced
$ ./resize.sh wave_bible_bot/
$ file wave_bible_bot/*
wave_bible_bot/wave_bible_bot1_1024x768.png: PNG image, 1024 x 768, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot1_640x480.png: PNG image, 640 x 480, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot1_800x600.png: PNG image, 800 x 600, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot1.png: PNG image, 516 x 308, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot2_1024x768.png: PNG image, 1024 x 768, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot2_640x480.png: PNG image, 640 x 480, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot2_800x600.png: PNG image, 800 x 600, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot2.png: PNG image, 515 x 428, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot3_1024x768.png: PNG image, 1024 x 768, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot3_640x480.png: PNG image, 640 x 480, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot3_800x600.png: PNG image, 800 x 600, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot3.png: PNG image, 565 x 384, 8-bit/color RGB, non-interlaced
Sathya'nın belirttiği gibi ImageMagick'i yüklerseniz, yeniden boyutlandırmayı kolaylaştırmak için güzel bir GUI ön ucu vardır nautilus-image-converter.
Yüklemek için:
sudo apt-get install nautilus-image-converter
Nautilus'u yeniden başlatın (veya oturumu kapatıp tekrar açın). Bağlam menünüze aşağıda gösterildiği gibi "Resimleri Yeniden Boyutlandır" ve "Resimleri Döndür" ekler:

Yeniden boyutlandırmak istediğiniz tüm resimleri vurgulayın, sağ tıklayın, Resimleri Yeniden Boyutlandır'ı seçin ve şu arayüzü alacaksınız:

"Ekle" seçeneğini kullanın ve yeniden boyutlandırılan resimlerinize özel bir ad ekleyin. 1024x768 gibi bir boyut eklemek isteyebilirsiniz VEYA görüntülerinizin farklı klasörlerde 6 kopyasını oluşturabilir, ardından farklı boyutlardaki yeni görüntülerle üzerine yazmak için her klasördeki görüntülerde resimleri yeniden boyutlandır seçeneğini kullanabilirsiniz . Yerdeki resimleri yeniden boyutlandır her zaman seçili resimlerin üzerine yazacaktır, bu yüzden ne seçtiğinize dikkat edin!
ImageMagick'i kullanabilirsiniz: İlk olarak ImageMagick'i yükleyin
sudo apt-get install imagemagick
Ardından, resimlerinizin bulunduğu konuma cd atın:
cd /path/to/where/images/are/stored
Ardından, Görseller boyutunuza göre dizinler oluşturun
mkdir /path/to/where/images/are/stored/size
Görüntüleri dönüştürmek istediğiniz dizine kopyalayın
cp /path/to/where/images/are/stored/* /path/to/where/images/are/stored/size
Ardından, dizini diğer dizine değiştirin
cp /path/to/where/images/are/stored/size
Ardından, mogrifyyeniden boyutlandırmak için ImageMagick kütüphanesi tarafından sağlanan adlı bir araç kullanın
mogrify -resize 640×480! *.jpg
Bu herkese yeniden boyutlandırmak olacak 640*480, !kuvvet-boy oranına söyler.
Bash komut dosyası bilmiyorum, bu yüzden o kadar da otomatik değil.
Gerçekten birkaç referanslar olmalıdır mogrifyaracı içinde convertkılavuzu. ... yaklaşık kırk beş dakika aradım ama başka bir gönderiyle karşılaşana kadar doğru yöne bakmaya başlayamadım.
Başkalarının yararına bu çizgi tam olarak ihtiyacım olanı yaptı. Yaklaşık elli 2meg ila 3meg JPG (aynı dizinde) aldı ve hepsini 80 ila 120 kb'ye düşürdü. Ve elbette tüm isimlerini 'tamamen' aynı bıraktı.
mogrify *.jpg -quality 75 -resize "640x480>" *
Ve yine başkalarının yararına:
*.jpg ... dizindeki tüm JPG'lerde mogrify komutunu uygular.
-quality 75 ... jpg kalitesini çevrimiçi görüntüleme için bol olan% 75'e düşürür.
-resize "640x480>" ... tüm görüntülerin 640x480 olarak yeniden boyutlandırılmasına neden olur (sonunda ">" karakterine dikkat edin.
* ... ve komutun en sonunda bunu unutma.
Gimp, toplu mod ile birlikte gelir. bkz. GIMP Toplu İş Modu .
Kullanımı kolay bir araç oluşturdum: Picture Resize . Sahnenin arkasında imagemagick kullanıyor. Yüklendiğinde, linux masaüstünüzde bir simge oluşturur. Bir veya daha fazla görüntüyü veya görüntünün bir klasörünü sürükleyip bırakabilirsiniz; her görüntünün yeniden boyutlandırılmış bir kopyasını oluşturur. İstediğiniz boyut, masaüstü simgesine sağ tıklayarak kolayca değiştirilebilir.
Komut satırı aracı yerine GUI arıyorsanız, BIR'e bir göz atın: https://github.com/agronick/BIR