martijnvdb / php-image-resize
一个用于调整图像大小并将图像转换为不同文件类型的简单库
0.1.0
2021-05-22 16:14 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()
方法用于更改导出图像的质量。它接受一个介于 0
和 1
之间的浮点数,其中 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');