Yanıtlar:
ImageMagick'in mogrify aracını kullanabilirsiniz
mogrify -format jpg * .bmp
sudo apt install imagemagickUbuntu ve ekleyerek kalitesini ayarlayabilirsiniz-quality 100
Ubuntu'da ImageMagick'in kurulu olması muhtemeldir .
Yani yapabilir ,
convert filename.bmp filename.jpg
güncelleştirme:
mogrify(Tarafından cevap hyperslugve tarafından yönlendirilen cjm) de iyi bir seçenektir.
Bir görüntüyü yeniden boyutlandırmak, bulanıklaştırmak, kırpmak, despeckle, dither, çizmek, çevirmek, birleştirmek, yeniden örneklemek ve çok daha fazlası için mogrify programını kullanın .
Bu araç benzerlik gösterir dönüştürmek orijinal resim dosyasının üzerine yazılır dışında
(eğer dosya eki değiştirmediğiniz sürece-formatsen istemek değişikliklerle seçeneği).
Somonmoz cevabında küçük bir değişiklik yapmama izin verin:
for i in `ls *.bmp`; do convert $i $i.jpg; done
Yukarıdakiler çalışır ancak "bmp.jpg" adlı dosyaları oluşturur. Bu komutla .jpg dosyalarını alabilirsiniz:
for i in *.bmp; do convert ${i} ${i%bmp}jpg; done
Bkz man bashayrıntıları için forkomuta. ${i%bmp}Bölüm dizesini anlamına gelen "$ {i}" sonunda alt dize "bmp" olmadan.
"$ {İ}" içindeki dizgeyi dönüştürmek için başka işlemler var. "$ i", "$ {i}" için kısa yoldur. ls *.bmpSalmonmoose cevap araçlarında parçası "yürütme ls *.bmpardından için, ibölüm atar her dize kadar boşluklarla ayrılmış i". Aynı şey *.bmp, dizindeki tüm dosya adları ile eşleştiği için de sağlanır .
Bir dezavantajı var for- dizininizdeki dosyalar adında boşluklar varsa, örneğin "wedding picture 1.bmp" ise, ibu komutları uygulayarak var'a 3 kez atanacaktır :
convert wedding wedding.jpg
convert picture picture.jpg
convert 1.bmp 1.bmp.jpg
Cevabımda da "$ {i% bmp}" eşleşmesi başarısız oldu.
Ancak bir çözüm var - findbunun yerine komutu kullanabilirsiniz . Detaylar man findiçin bakınız. Şunun gibi bir şey yazmalısınız (lütfen denemeden önce man sayfasının sözdizimini kontrol edin):
find -name *.bmp -type f -exec convert '{}' '{}'.jpg \;
(İsim bölümünden pek emin değilim ve bölüm hakkında bazı şüphelerim var -exec, man findönce bakın )
Tüm görüntüleri bir .jpg dosyasında birleştirmek istiyorsanız, ilk yanıtta belirtildiği gibi bunları başka bir filtre ile birleştirebilirsiniz.
for i in `ls *.bmp`; do convert $i $i.jpg; done
Evet, bu dosyaadı.bmp.jpg adlı bir sürü dosya yapacaktır ancak işi yapacaktır.
ls.