Thực hiện phép thuật hình ảnh bằng ImageMagick
Cho dù bạn có biết hay không, có một cơ hội tốt mà bạn đã sử dụng ImageMagick, ít nhất là nếu bạn là người dùng Linux. Đó là bộ xử lý hình ảnh đằng sau nhiều ứng dụng liên quan đến đồ họa và vì lý do chính đáng. Với công cụ này, bạn có thể thực hiện hàng chục thao tác hình ảnh phổ biến và chuyển đổi từ dòng lệnh hoặc trong một tập lệnh / ứng dụng. ImageMagick có thể chuyển đổi, chuyển đổi, vẽ, trang trí, animate và hình ảnh tổng hợp. Nó có thể được sử dụng từ dòng lệnh cho các nhu cầu nhanh chóng hoặc được tích hợp vào một bộ phần mềm phức tạp hơn. Hướng dẫn này sẽ bao gồm một số tính năng "huyền diệu" nhất của ImageMagick và cung cấp các ví dụ về cách sử dụng nó để giải quyết các công việc hàng ngày.
Lưu ý về chuyển đổi : Việc chuyển đổi tên lệnh sẽ được sử dụng nhiều lần trong suốt hướng dẫn này. Đây là một trong nhiều lệnh để truy cập các tính năng của ImageMagick, không chỉ chuyển đổi giữa các loại. Thực tế là chúng ta bắt đầu một lệnh với chuyển đổi từ không nhất thiết có nghĩa là chúng ta đang chuyển đổi từ một định dạng hình ảnh sang định dạng khác.
Bắt ImageMagick
Nó được cài đặt sẵn trên nhiều hệ thống Linux, vì vậy bạn có thể không cần phải lo lắng về việc cài đặt. Một cách dễ dàng để tìm hiểu là mở một dòng lệnh và gõ
chuyển đổi
Nếu nó cung cấp cho bạn một kết quả như / usr / bin / convert, thì bạn đã sẵn sàng và có thể chuyển sang phần tiếp theo. Nếu không, nó sẽ có sẵn trong kho tiêu chuẩn của distro của bạn. Người dùng Debian và Ubuntu có thể tìm nạp nó với
sudo apt-get cài đặt imagemagick
Chuyển đổi các loại hình cơ bản
ImageMagick thật tuyệt vời để thực hiện các chuyển đổi hình ảnh đơn giản. Chuyển đổi JPG sang PNG, ví dụ, đơn giản như:
convert myPicture.jpg myPicture.png
Điều quan trọng cần lưu ý là lệnh chuyển đổi thực hiện các hoạt động của nó trên COPY của tệp. Sử dụng chuyển đổi sẽ không thay thế hoặc ghi đè hình ảnh gốc của bạn.
Chuyển đổi đơn giản
Trong khi chuyển đổi hình ảnh của bạn, bạn có thể thêm cờ tùy chọn để thực hiện các phép biến đổi cơ bản như xoay, thay đổi kích thước và cắt. Như đã nói ở trên, chúng ta có thể sử dụng lệnh convert nhưng điều đó không có nghĩa là chúng ta phải chọn một kiểu đầu ra khác.
#Rotating một hình ảnh duy nhất 90 độ convert -rotate 90 MyPicture.jpg MyPicture-rotated.jpg
Globbing / Ký tự đại diện / Lô
Globbing là một thuật ngữ phổ biến để sử dụng các ký tự đại diện (chẳng hạn như “*”) để đại diện cho một nhóm các tệp. ImageMagick hỗ trợ globbing từ dòng lệnh, vì vậy bạn có thể thực hiện các thao tác trên một nhóm các tệp bằng cách sử dụng các ký tự đại diện. Ví dụ: để chuyển đổi tất cả các tệp JPG trong một thư mục thành PNG, bạn có thể sử dụng một cái gì đó như thế này
chuyển đổi * .jpg image.png
sẽ tạo tệp PNG mới, có tên là image-0.png, image-1.png, image-2.png, v.v.
Tạo GIF động
Phân tích cú pháp lệnh thông minh của ImageMagick có nghĩa là nó có thể xác định những gì bạn có thể muốn làm dựa trên loại đầu vào bạn chỉ định. Trong ví dụ trước, chúng tôi đã sử dụng chuyển đổi * .jpg image.png và nó tạo ra một bản sao riêng lẻ của từng tệp JPG. Điều gì sẽ xảy ra nếu chúng ta thay thế “.png” bằng “.gif”? Câu trả lời không phải là nhiều tệp GIF, đó là một tệp GIF động bao gồm các tệp JPG.
chuyển đổi * .jpg myanimated.gif
Hiệu ứng văn bản
Sử dụng ImageMagick, bạn thậm chí có thể hiển thị đồ họa từ văn bản bằng cách sử dụng dòng lệnh. Trong ví dụ này, chúng tôi chỉ định màu nền, màu văn bản, phông chữ, kích thước và văn bản cần hiển thị. Trong trường hợp này, tôi sẽ chỉ định đường dẫn tới phông chữ TTF theo cách thủ công.
convert -background lightblue -fill yellow -font /usr/share/fonts/truetype/thai/Purisa.ttf -pointsize 72 nhãn: ImageMagick rendertext.png
Chú thích / Watermarking
Đôi khi bạn có thể cần phải thêm một số văn bản hoặc biểu trưng / hình ảnh vào hình ảnh hiện có. Đối với điều này, bạn sử dụng tùy chọn -append . Trong ví dụ này, tôi đang thêm một thanh vào dưới cùng của hình ảnh của tôi với một lưu ý về nội dung. Nếu tôi có một tệp có tên tux.jpg, tôi có thể sử dụng phần sau để chắp thêm ghi chú vào cuối:
convert tux.jpg -background Nhãn Khaki: 'Đây là Tux!' -gravity Center -append tux_annotated.jpg
Phần kết luận
Các ví dụ được hiển thị ở đây hầu như không làm xước bề mặt của những gì ImageMagick có thể làm. Với một chút thời gian và thực hành, và có lẽ là sự giúp đỡ của hướng dẫn quái dị này, bạn có thể làm những điều tuyệt vời với chương trình này. Bạn không bị giới hạn ở dòng lệnh, ImageMagick cung cấp các API cho C, C ++, Java, .NET, Python và nhiều hơn nữa. Nếu bạn có một câu chuyện về những gì ImageMagick đã làm cho bạn, hãy cho chúng tôi biết trong phần bình luận!