Đă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

Share
    avatar

    Giới tính : Nam

    Tuổi : 25

    Đến từ : Cần thơ

    Ngày Tham gia : 10/01/2012

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

    #1

     on 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


    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.


    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.


    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


    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.


    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


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


    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


    Đâ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


    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ý.