martijnvdb/php-image-resize

一个用于调整图像大小并将图像转换为不同文件类型的简单库

0.1.0 2021-05-22 16:14 UTC

This package is auto-updated.

Last update: 2024-09-22 23:59:54 UTC


README

这个简单的库允许您调整图像大小并将图像转换为不同的文件类型。支持的文件类型包括 JPG、PNG、GIF 和 WebP。不支持动画 GIF 和 WebP 文件。

安装

您可以通过 composer 安装此包

composer require martijnvdb/php-image-resize

使用

将 composer 自动加载器添加到您的应用程序中,并创建一个 ImageResize 类的新实例,其中第一个参数是源图像的路径。

require __DIR__ . '/vendor/autoload.php';

use Martijnvdb\ImageResize\ImageResize;

$image = new ImageResize(__DIR__ . '/image-1.jpg');

方法

使用 export() 方法将图像保存到指定的路径。默认情况下,它将源图像转换为指定的输出文件类型。在下面的示例中,它将原始 JPG 图像转换为 WebP 图像。

$image = new ImageResize(__DIR__ . '/image-1.jpg');
$image->export(__DIR__ . '/resized/image-1.webp');

使用 setWidth()setHeight() 方法,您可以设置导出图像的最大宽度和高度。默认情况下,它不会改变图像的宽高比。因此,图像将按比例缩放,以适应给定的尺寸限制。在导出图像时,您可以同时使用 setWidth()setHeight() 方法,或者只使用其中一个。

$image = new ImageResize(__DIR__ . '/image-1.jpg');
$image->setWidth(500);
$image->setHeight(500);
$image->export(__DIR__ . '/resized/image-1.webp');

您可以使用 ignoreRatio() 忽略源图像的宽高比,并将导出图像拉伸到指定的宽度和高度。

$image = new ImageResize(__DIR__ . '/image-1.jpg');
$image->setWidth(500);
$image->setHeight(500);
$image->ignoreRatio();
$image->export(__DIR__ . '/resized/image-1.webp');

setQuality() 方法用于更改导出图像的质量。它接受一个介于 01 之间的浮点数,其中 0 是最差的质量,1 是最佳质量。默认值为 0.9,并且只能在导出为 JPG、PNG 和 WebP 文件类型时使用。

$image = new ImageResize(__DIR__ . '/image-1.jpg');
$image->setQuality(0.65);
$image->export(__DIR__ . '/resized/image-1.webp');

还可以使用静态的 get() 方法来实现更简单的方法链。

$image = ImageResize::get(__DIR__ . '/image-1.jpg')
    ->setWidth(500)
    ->setHeight(500)
    ->setQuality(.8)
    ->ignoreRatio()
    ->export(__DIR__ . '/resized/image-1.webp');