ImageMagick có thể thực hiện nhiều hoạt động khác nhau. Hướng dẫn này sẽ giới thiệu cho bạn cú pháp của ImageMagick và các hoạt động cơ bản và chỉ cho bạn cách kết hợp các hoạt động và thực hiện xử lý hàng loạt nhiều hình ảnh.
Cài đặt
ImageMagick không được bao gồm trong các bản cài đặt mặc định của Ubuntu và nhiều bản phân phối Linux khác. Để cài đặt nó trên Ubuntu, sử dụng lệnh sau:
sudo apt-get install imagemagick
Chuyển đổi giữa các định dạng
Lệnh chuyển đổi có một hình ảnh, thực hiện các hành động trên nó và lưu hình ảnh với tên tệp mà bạn chỉ định. Một trong những điều cơ bản nhất bạn có thể làm với nó là chuyển đổi hình ảnh giữa các định dạng. Lệnh sau lấy một tệp PNG có tên “howtogeek.png” trong thư mục hiện tại và tạo một ảnh JPEG từ nó:
convert howtogeek.png howtogeek.jpg
convert howtogeek.png -quality 95 howtogeek.jpg
Số phải nằm trong khoảng từ 1 đến 100. ImageMagick sử dụng mức chất lượng của hình ảnh đầu vào, nếu có thể. Nếu không, ImageMagick mặc định là 92.
Thay đổi kích thước hình ảnh
Lệnh chuyển đổi cũng có thể thay đổi kích thước hình ảnh một cách nhanh chóng. Lệnh sau yêu cầu ImageMagick thay đổi kích thước hình ảnh thành chiều rộng 200 pixel và chiều cao 100 pixel:
convert example.png -resize 200x100 example.png
Chúng tôi đã sử dụng cùng một tên tệp ở đây, vì vậy ImageMagick sẽ ghi đè lên tệp gốc.
convert example.png -resize 200x100! example.png
Bạn cũng có thể chỉ định chiều rộng hoặc chiều cao cụ thể và ImageMagick sẽ đổi kích thước hình ảnh thành chiều rộng hoặc chiều cao đó trong khi vẫn giữ tỷ lệ khung hình. Lệnh sau sẽ thay đổi kích thước hình ảnh thành chiều rộng 200:
convert example.png -resize 200 example.png
Lệnh sau sẽ thay đổi kích thước hình ảnh thành độ cao 100:
convert example.png -resize x100 example.png
Xoay hình ảnh
ImageMagick có thể xoay nhanh hình ảnh. Lệnh sau đây lấy một hình ảnh có tên howtogeek.jpg, xoay nó 90 độ và lưu hình ảnh xoay như howtogeek-rotated.jpg:
convert howtogeek.jpg -rotate 90 howtogeek-rotated.jpg
Nếu bạn chỉ định cùng một tên tệp, ImageMagick sẽ lưu hình ảnh được xoay qua tệp hình ảnh gốc.
Áp dụng hiệu ứng
ImageMagick có thể áp dụng nhiều hiệu ứng cho một hình ảnh. Ví dụ, lệnh sau đây áp dụng hiệu ứng "than" cho một hình ảnh:
convert howtogeek.jpg -charcoal 2 howtogeek-charcoal.jpg
convert howtogeek.jpg -implode 1 howtogeek-imploded.jpg
Kết hợp các hoạt động
Tất cả các hoạt động này có thể được kết hợp. Với một lệnh duy nhất, bạn có thể thay đổi kích thước hình ảnh, xoay hình ảnh, áp dụng hiệu ứng và chuyển đổi nó sang định dạng khác:
convert howtogeek.png -resize 400x400 -rotate 180 -charcoal 4 -quality 95 howtogeek.jpg
Xử lý hàng loạt
Bạn có thể tận dụng Bash để nhanh chóng xử lý hàng loạt nhiều hình ảnh. Ví dụ, lệnh sau sẽ lấy tất cả các tệp PNG trong thư mục hiện tại, xoay chúng và lưu một bản sao mới của mỗi tệp có "-rotated" được thêm vào đầu mỗi tên tệp.
for file in *.png; do convert $file -rotate 90 rotated-$file; done
Bất kỳ bài viết nào trên ImageMagick sẽ bỏ qua rất nhiều thứ bạn có thể làm với nó - chỉ có quá nhiều tùy chọn và lệnh. Nếu bạn quan tâm đến việc làm nhiều hơn với ImageMagick, hãy xem tài liệu chính thức trên trang web ImageMagick để có cái nhìn sâu sắc hơn về ImageMagick.