Chuyển đổi hàng loạt hình ảnh từ định dạng này sang định dạng khác?


44

Tôi muốn chuyển đổi một loạt hình ảnh, gần 100, từ định dạng jpg sang định dạng png. Làm thế nào tôi có thể làm điều này mà không đổi tên chúng, nhưng thay vào đó thực sự chuyển đổi định dạng?


Sử dụng convertlệnh. Không, thực sự. Nhưng bạn sẽ muốn đổi tên chúng từ Something.jpg thành Something.png.
Jos

1
@jos, Từ nhận xét của bạn tôi không hiểu tôi nên làm gì !!
opu

Tôi chưa hoàn thành chỉnh sửa ;-) Trước tiên, hãy sử dụng convertlệnh trên một tệp .jpg và xem nó có hoạt động không. Sau đó, viết một tập lệnh lặp lại các tệp .jpg và chuyển đổi chúng thành các tệp .png.
Jos

Bạn không đề cập đến cách tôi có thể sử dụng convertlệnh trên một tệp .jpg. Và tôi không biết làm thế nào để viết một tập lệnh lặp lại các tập tin .jpg.
opu

Câu trả lời:


63

Hãy thử các lệnh này,

mogrify -format png /path/*.jpg    

Điều này sẽ chuyển đổi tất cả các tệp .jpg thành các tệp .png và lưu các tệp đã chuyển đổi trong cùng thư mục.

mv /path/*.png ~/Desktop/pic

Điều này sẽ di chuyển tất cả các .pngtệp (được chuyển đổi) vào picthư mục nằm trên Bàn làm việc.


Tôi có nên thay đổi thư mục?
opu

1
/path/*.jpgđại diện cho thư mục nơi các tệp .jpg được lưu trữ.
Avinash Raj

Tôi cũng đã thử lệnh này sau khi thay đổi thư mục: mogrify -format png .jpgĐiều này cũng hoạt động độc đáo.
opu

Câu trả lời dưới đây là tốt hơn , vì nó tính đến các giới hạn được đặt trên ARGV.
Evan Carroll

Có một hướng dẫn tuyệt vời ở đây: algissalys.com/how-to/ Từ Ngoài ra còn bao gồm việc thay đổi kích thước của hình ảnh, điều này rất hữu ích. thêm -resize 800x thay đổi bên dài nhất thành 800 :)
Craig Lambie

41

Sử dụng ImageMagick .

Đầu tiên cài đặt hình ảnh:

sudo apt-get install imagemagick

Hãy thử chuyển đổi chỉ một hình ảnh lúc đầu:

convert image.jpg image.png

Bây giờ chuyển đổi tất cả:

mogrify -format png *.jpg

BIÊN TẬP

Bạn cũng cần chia nó thành nhiều phần phù hợp để tránh đạt giới hạn về số lượng bạn có thể đặt trên một dòng lệnh. Điều này sẽ làm việc tốt hơn:

find -name '*.jpg' -print0 | xargs -0 -r mogrify -format png

Các -print0-0được sử dụng để xử lý các khoảng trắng trong tên tệp và -rphương tiện không chạy sai nếu không có gì để làm.

Nguồn: https://stackoverflow.com/questions/1010261/rasty-a-batch-with-imagemagick

EDIT 2 Đã chuyển png và jpg theo nhận xét của @ Glutanimate.

EDIT 3 Thay đổi png thành jpg trong đề xuất cuối cùng.


Một hình ảnh được chuyển đổi thành công. Nhưng khi tôi sử dụng lệnh để chuyển đổi tất cả hiển thị của nó mogrify.im6: unable to open image ``*.png': No such file or directory @ error/blob.c/OpenBlob/2638.``mogrify.im6: unable to open file ``*.png' @ error/png.c/ReadPNGImage/3667.
opu

Bạn sẽ phải vào cdthư mục đó trước. Nếu chúng ở trong máy tính để bàn, hãy chạy cd ~/Desktoptrước sau đó thử chuyển đổi lại.
Parto

Tôi đã thay đổi thư mục
opu

@Parto Tôi nghĩ nó nên như vậy mogrify -format png *.jpg. OP đang hỏi về việc chuyển đổi jpg → png.
Glutimate

đã không làm việc cho tôi với 14.04 @Parto
Talha06

0

Tôi biết đã lâu rồi kể từ khi câu hỏi này được đặt ra nhưng có một phần mềm tuyệt vời chưa được đề cập đến mà tôi đã sử dụng rất nhiều.

http://photobatch.wikidot.com/ còn được gọi là Phatch. Nó thực sự chuyển đổi bất cứ điều gì từ bất cứ điều gì sang bất cứ điều gì khác trong điều khoản hình ảnh. Nó đã không được cập nhật trong một thời gian nhưng bây giờ tuyên bố sẽ được phát hành cho Ubuntu 17.10. Hãy thử một lần. Tôi tự tin bạn sẽ rất hài lòng với nó.


2
Đã thử để có phần mềm này, liên kết "tải xuống" đến tệp gỡ lỗi bị thiếu trong liên kết trên và phiên bản "cửa hàng" Ubuntu đã cho tôi lỗi này: Lỗi chi tiết từ trình quản lý gói theo sau: giao dịch apt đã trả về kết quả thoát khỏi Ubuntu v 18.10 có lẽ? Dù sao - kinh nghiệm của tôi.
Craig Lambie
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.