ucraft-com/image-manipulator

ImageManipulator 是一个功能丰富的库,提供高级图像处理功能,包括缩放、裁剪、裁剪和 WebP 转换。

0.0.1 2024-07-23 14:51 UTC

This package is not auto-updated.

Last update: 2024-09-19 19:03:48 UTC


README

ImageManipulator 是一个针对高级图像处理任务的综合包。它提供强大的功能,用于各种图像处理,确保处理图像时的灵活性和效率。

特性

  • 缩放:动态调整图像尺寸,同时保持宽高比或使用自定义缩放。
  • 裁剪:自动移除图像中的不必要的边框或空白,优化视觉呈现。
  • 裁剪:根据定义的坐标或焦点区域提取图像的特定部分。
  • WebP 转换:高效地将图像转换为 WebP 格式,确保在图像质量和文件大小之间取得最佳平衡,适用于网络使用。

要求

  • PHP:8.1 或更高版本
  • Imagick PHP 扩展:您需要安装并启用 Imagick PHP 扩展,才能使用 ImageManipulator 库。

要求

  • PHP:8.1 或更高版本
  • Imagick PHP 扩展:您需要安装并启用 Imagick PHP 扩展,才能使用 ImageManipulator 库。

Laravel 集成

如果您使用 Laravel 框架,则提供了 ImageManipulatorServiceProvider 服务提供器,用于将 ImageManipulator 与适当的驱动程序注册。

要集成 Laravel,请按照以下步骤操作

  1. 将服务提供器添加到 config/app.php 文件中的 providers 数组

    'providers' => [
        // Other service providers...
    
        Uc\ImageManipulator\ImageManipulatorServiceProvider::class,
    ],
  2. (可选)如果需要自定义设置,则发布配置文件

    php artisan vendor:publish --provider="Uc\ImageManipulator\ImageManipulatorServiceProvider"

此设置将使 ImageManipulator 在 Laravel 中注册,允许您使用 Laravel 服务容器和配置管理使用它。

安装

要安装 ImageManipulator 库,请使用 Composer

composer require ucraft-com/image-manipulator
use Uc\ImageManipulator\ImageManipulator;
use Intervention\Image\ImageManager;
use Intervention\Image\Drivers\Imagick\Driver;

// Load an image
$contents = file_get_contents('path/to/image.jpg');
$im = new ImageManipulator(new ImageManager(new Driver()));

// Resize the image to 800x600 pixels
$resizedImage = $im->resize($contents, 800, 600);

// Crop the image from (100, 100) pixels
$croppedImage = $im->crop($contents, 100, 100);

// Automatically trim borders or whitespace
$trimmedImage = $im->trim($contents);

// Convert the image to WebP format
$webpImage = $im->convertToWebP($contents);