Imagick trong PHP

Posted by

1. Tản mạn ngoài lề.


Mình có làm việc với Imagick để chuyển PDF sang Image. Sau quá trình tìm hiểu thì note việc setting Imgick với xampp windows lại đây.

Imagick: Wiki và nhiều nguồn.

ImageMagick có khả năng đọc, ghi, và chuyển đổi nhiều dạng file ảnh như JPEG, GIF, PNG, TIFF, PDF, PostScript, SVG… (tổng cộng hơn 100 định dạng).

Có thể dùng ImageMagick thực hiện các thao tác đơn giản với hình ảnh như: dịch chuyển, xoay hình, lật hình, thu phóng, kéo xiên hình; cũng như hiệu chỉnh màu sắc, thêm các hiệu ứng, hoặc vẽ thêm chữ và các khối hình vào file hình ảnh sẵn có.

Cách dùng ImageMagick hiệu quả nhất là thông qua các câu lệnh được thực hiện trong các ngôn ngữ lập trình. ImageMagick hỗ trợ giao diện lập trình ứng dụng API cho nhiều ngôn ngữ lập trình khác nhau.

2. Install the Imagick extension in XAMPP for Windows.

a. Cài XAMPP.
https://www.apachefriends.org/index.html
Khá đơn giản, chắc mọi người biết cài cả rồi.

b. Kiểm tra phiên bản PHP.
Mở Command prompt (Lúc đầu mình mở git bash và không được :v) ra và kiểm tra những phần sau:

  • php -i|find "PHP Version" : Kiểm tra PHP version.
  • php -i|find "Thread Safety" : Kiểm tra thread safety. Nếu là enabled tương ứng với Yes và disable tương ứng với No.
  • php -i|find "Architecture" : Kiểm tra architecture. x86 là 32-bit và x64 là 64-bit Lưu ý nó không phải là System type của máy tính. Máy tính mình là 64-bit nhưng architecture là 32-bit.
alt text

Ví dụ của mình là: PHP 7.0.33; Thread Safety enabled và Architecture 32-bit.

Vào https://mlocati.github.io/articles/php-windows-imagick.html
Chọn dòng tương ứng và download 2 file php_imagick-….zip và ImageMagick-….zip

alt text

c. Extra file

  • Lấy file php_imagick.dll từ php_imagick-….zip để vào ext của xampp/php.
  • Lấy file CORE_RL or IM_MOD_RL từ ImageMagick-….zip để vào xampp/apache/bin.
  • Thêm C:\xampp\apache\bin vào environment variable.
  • Restart lại Apache/NGINX Windows service.

Leave a Reply

Your email address will not be published. Required fields are marked *