antey / image-slice
将图像切割成块件的库
1.0.1
2022-12-04 00:14 UTC
Requires
- php: >=7.4
- ext-fileinfo: *
- ext-gd: *
- gumlet/php-image-resize: 2.0.*
Requires (Dev)
- php-coveralls/php-coveralls: ^2.5
- phpunit/php-code-coverage: ^9.2
- phpunit/phpunit: ^9.5
This package is auto-updated.
Last update: 2024-09-22 13:51:04 UTC
README
PHP库,用于将图像切割成块件。
设置
手动克隆仓库,或者通过composer
$ composer require antey/image-slice
需求
- PHP版本:>= 7.4;
- PHP扩展:gd.
依赖
此包使用php-image-resize
使用
有两种可用的切片类型 - 水平切片和垂直切片。在构造函数参数中为HorizontalImageSlice
和VerticalImageSlice
传递宽度和高度(以像素为单位),以切片你想要的图像。
水平切片
use Antey\ImageSlice\HorizontalImageSlice; $imageSlice = new HorizontalImageSlice(100, 100); $slices = $imageSlice->slice(__DIR__ . '/example.jpeg');
此代码的结果是,我们的源图像将被切割成几个水平块件,并返回这些块件的路径。
垂直切片
use Antey\ImageSlice\VerticalImageSlice; $imageSlice = new VerticalImageSlice(100, 100); $slices = $imageSlice->slice(__DIR__ . '/example.jpeg');
此代码的结果是,我们的源图像将被切割成几个垂直块件,并返回这些块件的路径。
放大
默认情况下,如果源图像的分辨率低于预期(例如,原始图像为2000x500,而我们想要1000x1000的块件),结果块件的高度(或宽度,对于VerticalImageSlice
)将与源图像相同,因此我们将得到两个1000x500的块件。
如果我们希望块件具有严格的大小,我们可以允许放大
$imageSlice->allowUpscale();
之后,对于之前的图像,源图像将被放大到4000x1000,然后才进行切片。结果,我们将得到四个1000x1000的块件。
最后一个切片
在大多数情况下,原始图像不能正好切割成块件。当我们尝试将2300x1000的图像切割成1000x1000的块件时,最后的部分(300px)将被忽略。
但如果我们希望保存这部分内容 - 我们需要允许保存最后一个块件
$imageSlice->allowLastSlide();
结果,我们将得到三个幻灯片 - 两个1000x1000的幻灯片,和一个300x1000的幻灯片。