Bir klasördeki tüm resimleri toplu olarak yeniden boyutlandırma (alt klasörler dahil)?


11

Sunucuda muazzam, 12GB'lık bir galerim var, çeşitli alt klasörlerde resimlerle dolu. Bu dosyalar çok büyük ve tam çözünürlükte kullanılmıyor. Tüm görüntüleri 820 piksel genişliğe kadar yeniden boyutlandırmam gerekiyor (oranları koruyor). Benim sorum şu - 820 pikselden daha büyük tüm resimleri yeniden boyutlandıracak ve onları orijinal dosyanın üzerine yazarak nasıl kaydedecek bir tür tarama komut dosyası oluşturabilirim?

Bana yardımcı olabilir umut :-) şimdiden teşekkür ederim.


3
find . -name "*.jpg" -exec mogrify -resize 820x {} +hepsini yapacak; Eğer "daha az 820px" olanları işlemek istemiyorsanız, bazı seçenekler vardır burada .
don_crissti

Yanıtlar:


13

ImageMagick araçları dönüştürmek veya mogrify işi yapacak.

Bunları paket yöneticiniz veya şu kaynaktan / rpms adresinden alabilirsiniz : http://www.imagemagick.org/script/binary-releases.php#unix

Temel kullanım:

$ mogrify -resize 820x *.jpg

Özyinelemeye ihtiyacınız varsa:

find . -name '*.jpg' -execdir mogrify -resize 820x {} \;

"820 piksel genişliğinde (orantıları koruyarak)" "820x820 boyutuna yeniden boyutlandırma" anlamına gelmez. Daha çok "820 piksel genişliğinde ve her ne kadar yüksekse";) Artı bu özyinelemeyi ele almaz.
Erathiel

1
İyi bir nokta. Düzenlenen!

Bunu yalnızca ayarlanan boyutlardan daha büyüklerse ve yine de oranları find . -name '*.jpg' -execdir mogrify -resize '820x620>' {} \;
koruyorsa

2
Dikkat: Bu, mevcut resimlerinizin üzerine yazacaktır.
sudo


5

convertİşi yapmak için kullanın .

convert -resize "1024x768>" origIMG destIMGen-boy oranını koruyarak origIMG'yi 1024x768 boyutuna getirecek ve yalnızca resim 1024'ten büyükse yeniden boyutlandıracak ve yeni görüntüyü destIMG'de saklayacaktır. Bundan sonra destIMG'i orijinaline taşıyabilirsiniz.

Tüm dizinlerinizde dolaşmak için bir döngü kullanın veya kullanın find.


Özyinelemeli olarak orijinal görüntüyü küçültülmüş görüntünün üzerine yazmak için bu komutu nasıl değiştirirsiniz find?
Simon East
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.