Đăng Nhập

Vui lòng khai báo chính xác tên truy cập và mật khẩu!

Quên mật khẩu?

    Hướng dẫn thay đổi kích thước, định dạng và chỉnh sửa ảnh trên Linux bằng ImageMagick

      Tony Stark

      Giới tính : Nam

      Tuổi : 31

      Đến từ : Cần thơ

      Ngày Tham gia : 10/01/2012

      Tổng số bài gửi : 750

      #1

       Thu Apr 05, 2012 2:54 pm

      Quản
      Trị Mạng - ImageMagick là một bộ ứng dụng cho phép thao tác với ảnh
      trên giao diện dòng lệnh. Phần mềm có thể nhanh chóng thực hiện các xử
      lý trên ảnh từ một đầu cuối (terminal), tiến hành xử lý khối nhiều ảnh
      hay được kết hợp vào bash script.
      Bài
      viết giới thiệu cho người dùng cấu trúc lệnh của ImageMagick, các thao
      tác cơ bản, cách kết hợp các thao tác và tiến hành xử lý khối nhiều bức
      ảnh.


      Cài đặt


      ImageMagick không được cài mặc định trên Ubuntu. Để cài đặt phần mềm, sử dụng câu lệnh sau:

      sudo apt-get install imagemagick

      Thay đổi định dạng ảnh


      Lệnh convert lấy một bức ảnh,
      thao tác trên nó và lưu bức ảnh với tên file mà người dùng quy định. Một
      trong những công việc cơ bản nhất người dùng có thể làm là thay đổi
      định dạng ảnh. Câu lệnh này lấy một file PNG tên là “howtogeek.png” theo đường dẫn và tạo một bức ảnh JPEG từ đó:

      convert howtogeek.png howtogeek.jpg

      Hướng dẫn thay đổi kích thước, định dạng và chỉnh sửa ảnh trên Linux bằng ImageMagick Linux2

      Người dùng cũng được tự quy định mức nén cho ảnh JPEG:

      convert howtogeek.png -quality 95 howtogeek.jpg

      Mức nén phải nằm trong khoảng từ 1 đến 100. ImageMagick sẽ sử dụng luôn mức nén của ảnh đầu vào nếu có. Nếu không, ImageMagick mặc định mức nén bằng 92.

      Thay đổi kích thước ảnh


      Câu lệnh convert cũng giúp thay đổi kích thước ảnh nhanh chóng. Câu lệnh sau đây yêu cầu ImageMagick định cỡ ảnh với chiều rộng là 200 pixel và 100 pixel chiều cao.

      convert example.png -resize 200×100 example.png

      Do đã sử dụng tên giống nhau cho hai file ảnh vì thế ImageMagick sẽ ghi đè file ảnh mới lên file ảnh gốc.

      Hướng dẫn thay đổi kích thước, định dạng và chỉnh sửa ảnh trên Linux bằng ImageMagick Linux3

      ImageMagick sẽ cố gắng giữ nguyên hệ số co (aspect ratio) khi câu lệnh trên được sử dụng. Nó sẽ thay đổi bức ảnh sao cho phù hợp với kích thước 200x100
      nhưng trên thực tế không được chính xác hoàn toàn. Nếu muốn ép bức ảnh
      vào một kích cỡ quy định trước, người dùng chỉ cần thêm dấu chấm than
      sau kích thước ảnh. Nhưng điều này sẽ ảnh hưởng đến hệ số co.

      convert example.png -resize 200×100! example.png

      Người dùng cũng có thể quy định độ rộng hay độ cao và ImageMagick sẽ thay đổi kích thước bức ảnh theo độ rộng hay độ cao đó và vẫn giữ được hệ số co. Để thay đổi độ rộng ảnh thành 200 ta dùng:

      convert example.png -resize 200 example.png

      câu lệnh sau sẽ thay đổi chiều cao ảnh thành 100:

      convert example.png -resize x100 example.png

      Xoay ảnh


      ImageMagick cũng giúp xoay ảnh nhanh chóng. Câu lệnh dưới đây lấy một bức ảnh có tên howtogeek.jpg, xoay bức ảnh 90o và lưu bức ảnh được xoay là howtogeek-rotated.jpg:

      convert howtogeek.jpg -rotate 90 howtogeek-rotated.jpg

      Nếu tên file ảnh mới trùng với tên file gốc, ImageMagick sẽ tiến hành ghi đè lên file ảnh gốc.

      Hướng dẫn thay đổi kích thước, định dạng và chỉnh sửa ảnh trên Linux bằng ImageMagick Linux4

      Sử dụng các hiệu ứng


      ImageMagick có thể áp nhiều hiệu ứng vào một bức ảnh. Chẳng hạn, câu lệnh sau thêm hiệu ứng “charcoal” vào ảnh:

      convert howtogeek.jpg -charcoal 2 howtogeek-charcoal.jpg

      Hướng dẫn thay đổi kích thước, định dạng và chỉnh sửa ảnh trên Linux bằng ImageMagick Linux5

      Câu lệnh tạo hiệu ứng vẽ chì nghệ thuật cho bức ảnh. “2” trong câu lệnh là mức độ tác động của hiệu ứng. Số càng lớn, mức độ tác động càng rõ ràng.

      Hướng dẫn thay đổi kích thước, định dạng và chỉnh sửa ảnh trên Linux bằng ImageMagick Linux6

      Câu lệnh sau tạo hiệu ứng “Impode” với mức tác động bằng 1:

      convert howtogeek.jpg -implode 1 howtogeek-imploded.jpg

      Hướng dẫn thay đổi kích thước, định dạng và chỉnh sửa ảnh trên Linux bằng ImageMagick Linux7

      Hiệu ứng “impode” làm cho bức ảnh như bị xoáy vào tâm ảnh.

      Hướng dẫn thay đổi kích thước, định dạng và chỉnh sửa ảnh trên Linux bằng ImageMagick Linux8

      Kết hợp các thao tác


      Tất cả các thao tác này có thể kết hợp
      lại. Với câu lệnh đơn, người dùng có thể thay đổi kích thước ảnh, xoay,
      tạo hiệu ứng và chuyển đổi sang định dạng ảnh khác:

      convert howtogeek.png -resize 400×400 -rotate 180 -charcoal 4 -quality 95 howtogeek.jpg

      Hướng dẫn thay đổi kích thước, định dạng và chỉnh sửa ảnh trên Linux bằng ImageMagick Linux9

      Đây chỉ là những thao tác cơ bản ban đầu mà người dùng dễ dàng thực hiện được trên ImageMagick. Ngoài ra, còn có nhiều thao tác khác cũng có thể được kết hợp lại.

      Xử lý khối


      Người dùng nên lợi dụng giao diện Bash
      để nhanh chóng thực hiện xử lý khối nhiều bức ảnh. Ví dụ như câu lệnh
      sau sẽ lấy tất cả các file PNG từ đường dẫn, xoay và lưu các bức ảnh đã xoay lại.

      for file in *.png; do convert $file -rotate 90 rotated-$file; done

      Hướng dẫn thay đổi kích thước, định dạng và chỉnh sửa ảnh trên Linux bằng ImageMagick Linux10

      Ngoài ra, chúng ta cũng có thể dễ dàng
      sửa đổi câu lệnh để thực hiện các thao tác khác cũng như dễ dàng kết hợp
      các câu lệnh xử lý khối vào Bash shell script để tự động hóa thao tác xử lý.