Imagick là một thư viện mạnh mẽ trong PHP giúp xử lý và chỉnh sửa hình ảnh một cách linh hoạt. Với sự đa dạng của các hàm như resize, crop, rotate, và sharpen,… Imagick cho phép người phát triển tạo ra những hình ảnh đẹp mắt và chất lượng cao. Hơn nữa, việc sử dụng hàm Imagick giúp tối ưu hóa quá trình xử lý ảnh bằng cách kết hợp nhiều chức năng mà không làm giảm hiệu suất. Hãy cùng Vietnix tìm hiểu thêm về chủ đề các hàm Imagick trong PHP.
Các hàm Imagick trong PHP
Các hàm Imagick trong PHP giúp bạn tạo và chỉnh sửa hình ảnh dễ dàng bằng cách sử dụng API của ImageMagick. Nếu bạn chưa biết thì ImageMagick là một phần mềm mạnh mẽ cho phép bạn tạo, chỉnh sửa và chuyển đổi hình ảnh bitmap. Phần mềm này hỗ trợ nhiều định dạng hình ảnh khác nhau như DPX, EXR, GIF, JPEG, JPEG-2000, PDF, PhotoCD, PNG, Postscript, SVG và TIFF.
Yêu cầu: Cần có phiên bản PHP 5.1.3 và ImageMagick 6.2.4 để cài đặt ImageMagick.
Mọi người cũng xem:
Ví dụ minh hoạ hàm Imagick
Ảnh gốc như sau:
Triển khai thành chương trình:
<?php
// require_once('path/vendor/autoload.php');
// Create a new Imagick Object
$image = new Imagick('https://static-xf1.vietnix.vn/wp-content/uploads/2023/01/thue-hosting-toc-do-cao-nhan-cc-ssl.png');
// brightnessContrastImage Function
$image->brightnessContrastImage(12, 30);
header('Content-type: image/png');
// Display the output image
echo $image;
?>
Output như sau:
Bảng tổng hợp các hàm Imagick trong PHP
Hàm Imagick | Mô tả |
Imagick::adaptiveBlurImage() | Thêm bộ lọc làm mờ thích ứng trong hình ảnh nhất định. |
Imagick::adaptiveResizeImage() | Thay đổi kích thước hình ảnh theo trang web. |
Imagick::adaptiveSharpenImage() | Cường độ của độ sắc nét thích ứng của hình ảnh phụ thuộc vào việc giảm đáng kể ở rìa hình ảnh. |
Imagick::adaptiveThresholdImage() | Chọn ngưỡng cho mỗi pixel dựa trên giá trị cường độ trong vùng lân cận cục bộ của nó. |
Imagick::addImage() | Thêm hình ảnh mới vào danh sách hình ảnh đối tượng Imagick. |
Imagick::addNoiseImage() | Thêm nhiễu vào một hình ảnh nhất định. |
Imagick::annotateImage() | Chú thích một hình ảnh với văn bản. |
Imagick::appendImages() | Nối một bộ hình ảnh |
Imagick::autoLevelImage() | Điều chỉnh mức độ của một kênh hình ảnh cụ thể. |
Imagick::blackThresholdImage() | Giá trị ngưỡng chuyển sang màu đen trong khi giữ nguyên tất cả các pixel vượt ngưỡng. |
Imagick::blueShiftImage() | Vô hiệu màu của hình ảnh để mô phỏng cảnh vào ban đêm dưới ánh trăng. |
Imagick::blurImage() | Thêm bộ làm mờ vào hình ảnh |
Imagick::borderImage() | Vẽ đường viền trong một hình ảnh. |
Imagick::brightnessContrastImage() | Dùng để thay đổi độ sáng, độ tương phản của hình ảnh |
Imagick::charcoalImage() | Mô phỏng một bản vẽ than của một hình ảnh. |
Imagick::chopImage() | Xóa vùng của hình ảnh và cắt nó. |
Imagick::commentImage() | Thêm bình luận vào một hình ảnh. |
Imagick::convolveImage() | Được sử dụng để áp dụng một bộ lọc tích chập tùy chỉnh cho kernel hình ảnh |
Imagick::cropImage() | Trích xuất vùng của hình ảnh. |
Imagick::despeckleImage() | Giảm nhiễu đốm trong ảnh trong khi vẫn giữ nguyên ở các cạnh của ảnh gốc. |
Imagick::displayImage() | Hiển thị một đối tượng hình ảnh. |
Imagick::distortImage() | Làm thay đổi hình dạng của ảnh bằng nhiều phương pháp biến dạng khác nhau. |
Imagick::edgeImage() | Tăng cường các cạnh trong hình ảnh. |
Imagick::embossImage() | Trả về hình ảnh thang độ xám với hiệu ứng ba chiều. |
Imagick::enhanceImage() | Cải thiện chất lượng của hình ảnh nhiễu. |
Imagick::equalizeImage() | Cân bằng biểu đồ của hình ảnh. |
Imagick::extentImage() | Đặt kích thước hình ảnh và cho phép đặt tọa độ x, y nơi vùng mới của hình ảnh bắt đầu. |
Imagick::flattenImages() | Hợp nhất chuỗi hình ảnh. |
Imagick::flipImage() | Tạo ra hình ảnh mới bằng cách lật dọc hình ảnh gốc |
Imagick::flopImage() | Tạo một hình ảnh phản chiếu ngang. |
Imagick::gammaImage() | Chỉnh sửa hình ảnh bằng cách hiệu chỉnh độ sáng của Gamma. |
Imagick::getCopyright() | Trả về bản quyền API ImageMagick hiện tại được sử dụng dưới dạng chuỗi. |
Imagick::getImageBluePrimary() | Trả về điểm chính màu xanh lam. |
Imagick::getImageColors() | Lấy số lượng màu sắc duy nhất trong hình ảnh. |
Imagick::getImageColorspace() | Lấy không gian màu của hình ảnh. |
Imagick::getImageChannelDepth() | Lấy độ sâu cho kênh màu hình ảnh. |
Imagick::getImageChannelRange() | Nhận phạm vi của kênh màu. |
Imagick::getImageDepth() | Nhận được độ sâu của hình ảnh. |
imagick::getImageDispose() | Nhận phương pháp xử lý bố cục hình ảnh. |
Imagick::getImageFormat() | Nhận định dạng của một hình ảnh cụ thể theo trình tự |
Imagick::getImageGeometry() | Chiều rộng và chiều cao dưới dạng một mảng kết hợp. |
Imagick::getImageGamma() | Mã hóa và giải mã các giá trị độ chói hoặc tristimulus trong hình ảnh. |
Imagick::getImageHeight() | Lấy chiều cao của hình ảnh. |
Imagick::getImageLength() | Lấy độ dài của một đối tượng hình ảnh tính bằng byte |
Imagick::getImageMatte() | Lấy kênh mờ của một đối tượng tưởng tượng. |
Imagick::getImageMimeType() | Nhận loại MIME của một đối tượng tưởng tượng |
Imagick::getImagePage() | Lấy hình dạng trang của một hình ảnh cụ thể. |
Imagick::getImageRenderingIntent() | Nhận ý định hiển thị hình ảnh. |
Imagick::getImageResolution() | Lấy độ phân giải của một đối tượng hình ảnh. |
Imagick::getImageScene() | Lấy cảnh hình ảnh của một đối tượng Imagick. |
Imagick::getImageSignature() | Tạo thông báo SHA-256 cho hình ảnh. |
Imagick::getImageUnits() | Lấy đơn vị độ phân giải của một hình ảnh cụ thể. |
Imagick::getImageWhitePoint() | Lấy điểm màu trắng của đối tượng hình ảnh Imagick. |
Imagick::getImageWidth() | Lấy chiều rộng của hình ảnh. |
Imagick::getInterlaceScheme() | Lấy sơ đồ xen kẽ đối tượng. |
Imagick::getImageTicksPerSecond() | Lấy số tick thời gian của hình ảnh, số càng cao khung hình càng nhanh |
Imagick::getPackageName() | Lấy tên gói ImageMagick. |
Imagick::getQuantumRange() | Lấy phạm vi lượng tử Imagick của một đối tượng Imagick. |
Imagick::getQuantumDepth() | Lấy độ sâu lượng tử của một đối tượng Imagick. |
Imagick::getVersion() | Nhận phiên bản API ImageMagick. |
Imagick::haldClutImage() | Thay thế màu sắc trong ảnh bằng bảng tra cứu Hald. |
Imagick::identifyImage() | Xác định một hình ảnh và trả về các thuộc tính của nó. |
Imagick::magnifyImage() | Chia tỷ lệ hình ảnh theo tỷ lệ 2x. |
Imagick::minifyImage() | Chia tỷ lệ hình ảnh theo tỷ lệ bằng một nửa kích thước của nó. |
Imagick::modulateImage() | Kiểm soát độ sáng, độ bão hòa và màu sắc của hình ảnh. |
Imagick::morphImages() | Nó được sử dụng để biến đổi một tập hợp các hình ảnh. |
Imagick::motionBlurImage() | Điều này được sử dụng để mô phỏng chuyển động mờ. |
Imagick::negateImage() | Nó được sử dụng để phủ nhận màu sắc trong hình ảnh tham chiếu. |
Imagick::newImage() | Nó được sử dụng để tạo ra một hình ảnh mới. |
Imagick::newPseudoImage() | Tạo một hình ảnh mới bằng cách sử dụng các định dạng giả ImageMagick. |
Imagick::normalizeImage() | Tăng cường độ tương phản của hình ảnh màu bằng cách điều chỉnh màu của pixel để trải rộng toàn bộ dải màu có sẵn. |
Imagick::oilPaintImage() | Mô phỏng một bức tranh sơn dầu. |
Imagick::orderedPosterizeImage() | Thực hiện hoà sắc theo thứ tự dựa trên một số bản đồ ngưỡng hoà sắc được xác định trước nhưng trên nhiều mức cường độ |
Imagick::posterizeImage() | Giảm hình ảnh xuống một số mức màu giới hạn. |
Imagick::queryFonts() | Trả về phông chữ được cấu hình của thư viện Imagick. |
Imagick::radialBlurImage() | Tạo một hình ảnh mờ dần từ tâm hình ảnh. |
Imagick::raiseImage() | Tạo hiệu ứng mô phỏng giống nút ba chiều bằng cách làm sáng và làm tối các cạnh của hình ảnh. |
Imagick::randomThresholdImage() | Thay đổi giá trị của từng pixel dựa trên cường độ của từng pixel so với ngưỡng. |
Imagick::readImageBlob() | Đọc một hình ảnh từ một chuỗi nhị phân. |
Imagick::recolorImage() | Dịch, chia tỷ lệ, cắt hoặc xoay màu hình ảnh. |
Imagick::reduceNoiseImage() | Giảm nhiễu cho hình ảnh và các nét mịn hơn |
Imagick::resampleImage() | Lấy mẫu lại hình ảnh với độ phân giải mong muốn |
Imagick::rollImage() | Nó được sử dụng để cuộn một hình ảnh. |
Imagick::rotationalBlurImage() | Áp dụng hiệu ứng làm mờ trên hình ảnh theo một góc nhất định. |
Imagick::rotateImage() | Xoay hình ảnh theo một góc nhất định và các khoảng trống được lấp đầy bằng màu nhất định. |
Imagick::textureImage() | Tạo nhiều lần các ô hình ảnh kết cấu |
Imagick::thumbnailImage() | Thay đổi kích thước của hình ảnh theo kích thước nhất định và xóa mọi cấu hình liên quan. |
Imagick::thresholdImage() | Thay đổi giá trị của từng pixel dựa trên giá trị ngưỡng. |
Imagick::transformImage() | Cắt kích thước và hình học hình ảnh. |
Imagick::transformImageColorspace() | Chuyển đổi hình ảnh thành một không gian màu mới. |
Imagick::transposeImage() | Tạo một hình ảnh phản chiếu dọc. |
Imagick::transverseImage() | Tạo hình ảnh phản chiếu ngang bằng cách phản chiếu các pixel xung quanh trục y. |
Imagick::trimImage() | Loại bỏ các cạnh khỏi hình ảnh. |
Imagick::setImageChannelDepth() | Đặt độ sâu của hình ảnh kênh cụ thể. |
Imagick::setImageDepth() | Đặt độ sâu của một hình ảnh cụ thể. |
Imagick::setImageDispose() | Đặt phương pháp xử lý hình ảnh. |
Imagick::setImageOpacity() | Đặt mức độ mờ của đối tượng Imagick. |
Imagick::setImageMatte() | Đặt kênh mờ của đối tượng Imagick. |
Imagick::setImageResolution() | Đặt độ phân giải của đối tượng hình ảnh. |
Imagick::setImageRenderingIntent() | Đặt mục tiêu hiển thị hình ảnh. |
Imagick::setImageUnits() | Đặt đơn vị độ phân giải của một hình ảnh cụ thể. |
Imagick::shadeImage() | Tạo hiệu ứng 3D của một hình ảnh nhất định. |
Imagick::sharpenImage() | Nó được sử dụng để làm sắc nét một hình ảnh. |
Imagick::shaveImage() | Cạo các pixel khỏi các cạnh của hình ảnh. |
Imagick::shearImage() | Nó được sử dụng để tạo ra một hình bình hành. |
Imagick::sketchImage() | Điều này được sử dụng để mô phỏng một bản phác thảo bằng bút chì. |
Imagick::statisticImage() | Thay thế từng pixel bằng số liệu thống kê tương ứng từ vùng lân cận có chiều rộng và chiều cao được chỉ định. |
Imagick::solarizeImage() | Áp dụng hiệu ứng năng lượng mặt trời cho hình ảnh. |
Imagick::spliceImage() | Ghép một màu đồng nhất vào hình ảnh. |
Imagick::spreadImage() | Dịch chuyển ngẫu nhiên từng pixel trong một khối được xác định bởi tham số bán kính. |
Imagick::unsharpMaskImage() | Kết hợp hình ảnh với toán tử Gaussian có bán kính và độ lệch chuẩn cho trước. |
Imagick::uniqueImageColors() | Loại bỏ tất cả trừ một trong bất kỳ màu pixel nào. |
Imagick::vignetteImage() | Thêm bộ lọc cổ điển vào hình ảnh. |
Imagick::waveImage() | Tạo bộ lọc sóng trong ảnh. |
Imagick::whiteThresholdImage | Chuyển đổi tất cả các pixel trên giá trị ngưỡng thành màu trắng. |
Lời kết
Vietnix hy vọng nội dung bài viết trên đã giúp bạn hiểu rõ hơn về chủ đề các hàm Imagick trong PHP. Ngoài ra, bạn cũng có thể tham khảo thêm các bài viết khác tại vietnix.vn để hiểu hơn về lập trình, chúc bạn thành công!