Tìm hiểu về Imagick trong PHP
ImageMagick có thể giúp bạn thực hiện các thao tác từ đơn giản như: dịch chuyển, thay đổi kích thước, xoay, kéo xiên, thu phóng hỉnh, điều chỉnh màu sắc, vẽ vẵn bản, hình học... cho đến thêm các hiệu hứng phức tạp như các bộ lọc gotham, lomo, kelvin, toaster (bộ lọc phức tạp nhất) và nashville (bộ lọc phổ biến nhất).
I. Giới thiệu
a. ImageImagick là gì?
-
ImageMagick là bộ phần mềm (có thể gọi là thư viện) xử lí các file ảnh.
-
ImageMagick nổi tiếng do tương thích với nhiều định dạng ảnh và có giao diện (API) phong phú.
- ImageMagick có thể giúp bạn thực hiện các thao tác từ đơn giản như: dịch chuyển, thay đổi kích thước, xoay, kéo xiên, thu phóng hỉnh, điều chỉnh màu sắc, vẽ vẵn bản, hình học... cho đến thêm các hiệu hứng phức tạp như các bộ lọc gotham, lomo, kelvin, toaster (bộ lọc phức tạp nhất) và nashville (bộ lọc phổ biến nhất).
b. Imagick PHP là gì?
- Imagick là một extension của PHP dùng để tạo và sửa đổi các ảnh sử dụng ImageMagick API.
c. So sánh Imagick với GD
-
Cả Imagick và GD đều là extension của PHP, sử dụng với cùng mục đích là xử lý ảnh. Tuy nhiên, Imagick thể hiện sự vượt trội hơn so với GD.
-
Các type hỗ trợ: GD chỉ hỗ trợ các file JPG, PNG, GIF, WBMP, WebP, XBM và XPM files. Trong khi đó, Imagick hỗ trợ hơn 100 định dạng file khác nhau.
-
Các hàm hỗ trợ: Cả GD và Imagick đều hỗ trợ các hàm cơ bản như: resize, crop ảnh, tạo ảnh là tổng hợp của các hình khối, text và các file ảnh khác, hỗ trợ các bộ lọc cho ảnh. Tuy nhiên, nếu bạn muốn nâng cao hơn, thì Imagick là sự lựa chọn tối ưu, do nó cung cấp khoảng hơn 300 hàm giúp bạn có thể xử lý ảnh một cách hiệu quả nhất.
-
Hiệu suất: Hiệu suất của GD và Imagick gần như là tương đương.
-
Coding style: Imagick có cấu trúc đơn giản hơn nhiều so với GD
- Tính phổ biến: GD được include mặc định vào các version của PHP, do đó, GD được sử dụng và biết đến nhiều hơn so với Imagick.
II. Cài đặt Imagick trên Ubuntu 12.04
-
Cài đặt imagemagick
Default
sudo apt-get install imagemagick -
Cài đặt imagemagick PECL extension
Default
sudo apt-get install php5-imagick - Restart webserver
III. Một số tính năng đặc trưng của Imagick
- Thay đổi kích thước và định dạng ảnh
- Chỉnh sửa hàng loạt ảnh với tốc độ nhanh
- Thêm hiệu ứng cho ảnh
- Loại bỏ các phần kém chất lượng trên ảnh
- Hỗ trợ nhiều định dạng ảnh
- Tạo ảnh động
IV. Ví dụ
- Lấy thông tin ảnh
$im = new Imagick('image.jpg');
// get image length
$im->getImageLength();
// get image format
$im->getFormat();
// get image size
$im->getImageSize();
// get image file name
$im->getImageFilename();
// get image mime type
$im->getImageMimeType();
// get all information of image
$im->identifyimage();
?>
- Thay đổi thuộc tính của ảnh
$im = new Imagick('image.jpg');
// convert image with format jpg to png
$im->setImageFormat('png');
// resize image
$im->resizeImage(320, 240, Imagick::FILTER_LANCZOS, 1);
// change image quality
$im->setCompressionQuality(75);
// change dpi image
$im->setResolution(96, 96);
//write image
$im->writeImage('image.png');
?>
- Tạo ảnh động
$im = new Imagick();
$im->setFormat("gif");
$_FILES['image0']="/data/C4Drz.png";
$_FILES['image1']="/data/DuCIz.png";
$_FILES['image2']="/data/fwrko.png";
$_FILES['image3']="/data/GOWmh.png";
for ($i = 0; $i < sizeof($_FILES); ++$i) {
$im = new Imagick();
$im->readImage($_FILES["image$i"]);
$im->setImageDispose(2);
$im->setImageDelay(100);
$im->addImage($frame);
}
$im->writeImages("/data/allimage.gif" , true);
?>
V. Nguồn tham khảo
Bài viết khác
-
Cách phục hồi dung lượng pin laptop vô cùng đơn giản
-
Cách kiểm tra độ chai của PIN laptop dell, hp, asus... ngay trong window
-
Tạo email tên miền riêng miễn phí với Zoho
-
Cấu hình nâng cao cho CSF để bảo vệ VPS
-
Hướng dẫn Ping và sử dụng Tracert
-
4 cách viết bài cho SEO, tăng khả năng thành công
-
Là một bản cập nhật lớn từ Google tìm kiếm đang xảy ra? Tôi nghĩ như vậy.
-
Google cho biết bản cập nhật thứ sáu là không phải do các thuật toán Penguin
-
Thông Báo Bảo Trì AAG Kênh Giữa HongKong Và Malaysia
-
Hướng dẫn thay đổi tên miền không làm mất đi thứ hạng!
-
Cách sử dụng phần mềm FastStone-Capture quay lại màn hình
-
Theo dõi Website Uptime 24/7 miễn phí với Google Drive, hỗ trợ SMS
-
Một số cách cơ bản để kiểm tra server có bị DDoS không
-
Một số biện pháp đối phó khi phát hiện bị DDOS, How to check DDOS Attack and prevent
-
Thiết kế website tư vấn du học cần những gì?
-
Thêm Google Drive vào Menu Send to trên Windows 7
-
Ý nghĩa các hàm addslashes, mysql_real_escape_string, htmlspecialchars
-
Cách sửa lỗi SSL trên trình duyệt Chrome, Firefox, Cốc Cốc
-
Hướng dẫn cập nhật phpBB
Giới thiệu
- Điều khoản sử dụng
- Chính sách & Quy định chung
- Quy định và hình thức thanh toán
- Chính sách bảo mật thông tin
- Hướng dẫn xóa dữ liệu người dùng thông qua Facebook
Blog
- Lịch sử cập nhật
- Thông Báo Bảo Trì AAG Kênh Giữa HongKong Và Malaysia
- Google cho biết bản cập nhật thứ sáu là không phải do các thuật toán Penguin
- Là một bản cập nhật lớn từ Google tìm kiếm đang xảy ra? Tôi nghĩ như vậy.
- 4 cách viết bài cho SEO, tăng khả năng thành công
Thiết kế website
Youtube Partner And Network
- "Hôi của" Hình ảnh này mình "hôi của đề xuất" của Afrojack
- Cách tag video của mình sao cho được đánh giá cao trong YouTube và VIDIQ
- Tiện ích VidIQ – cần phải có khi chơi youtube