antey / instagram-image
根据Instagram要求调整图像大小的库
Requires
- php: >=7.4
- ext-fileinfo: *
- ext-gd: *
- antey/image-slice: 1.*
- 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-09 15:46:07 UTC
README
PHP库,用于根据Instagram要求调整图像大小。
设置
手动克隆仓库,或通过composer
$ composer require antey/instagram-image
要求
- PHP版本:>= 7.4;
- PHP扩展:gd。
依赖项
此包使用php-image-resize和php-image-slice
使用方法
此包允许将图像调整到任何分辨率,根据Instagram要求或获取帖子或相册的最佳分辨率(功能描述如下)。
Instagram分辨率
- 个人资料照片 - 360x360 px;
- 故事 - 1080x1920 px;
- Reels - 1080x1920 px;
- IGTV封面 - 420x654 px;
- 正方形帖子 - 1080x1080 px;
- 风景帖子 - 1080x564 px;
- 肖像帖子 - 1080x1350 px;
调整大小
此包允许使用以下方法之一将原始图像调整大小为Instagram图像之一: getProfile、getIgtvCover、getSinglePostSquare、getSinglePostLandscape和getSinglePostPortrait。
切片
与简单调整大小不同,Instagram还允许发布一些多个图像。这可以是Stories、Reels、具有多个图像的帖子。为了创建这些类型的图像,包提供将原始图像调整大小并切割成多个片段的方法。这些方法列表: getStories、getReels、getGallerySquare、getGalleryLandscape、getGalleryPortrait。
最佳调整大小
为了简化与帖子的工作,包提供将自动找到最可靠类型(单个图像或相册)和分辨率(正方形、风景、肖像)的方法,对于给定图像返回调整大小后的图像路径,或切片片段的路径。这是getSinglePostOptimal、getGalleryOptimal、getPostOptimal。
可用功能
调整大小初始化
use Antey\InstagramImage\InstagramImageResize; $imageResize = new InstagramImageResize();
调整简单图像
对于简单图像(如个人资料、故事、Reels、IGTVCover),调整大小后的图像(或图像相册)将通过单个指定方法创建。
getProfile
$imageResize->getProfile(string $filename, string $path = ''): string;
将给定图像转换为jpeg,调整到个人资料分辨率,并返回结果图像的路径。如果目标为空,则替换原始文件。
getStories
$imageResize->getStories(string $filename, string $path = ''): array;
将给定图像转换为jpeg,调整到故事分辨率,如果可能,将其切割成多个故事图像。返回结果图像的路径数组。如果目标为空,则将结果文件存储在原始文件附近。
getReels
$imageResize->getReels(string $filename, string $path = ''): array;
将给定图像转换为jpeg,调整到Reels分辨率,如果可能,将其切割成多个Reels图像。返回结果图像的路径数组。如果目标为空,则将结果文件存储在原始文件附近。
getIgtvCover
$imageResize->getIgtvCover(string $filename, string $path = ''): string;
将给定图像转换为jpeg,调整到IGTVCover分辨率,并返回结果图像的路径。如果目标为空,则替换原始文件。
调整帖子图像
与简单图像不同,帖子调整大小有些棘手。Instagram允许以三种分辨率发布帖子:1080x1080、1080x565、1080x1350。此外,还有发布帖子图像相册的可能性。因此,为了处理帖子调整大小,我们需要额外的方法集。
getSinglePostSquare
$imageResize->getSinglePostSquare(string $filename, string $path = ''): string;
将给定图像转换为jpeg,调整到正方形帖子分辨率,并返回结果图像的路径。如果目标为空,则替换原始文件。
getSinglePostLandscape
$imageResize->getSinglePostLandscape(string $filename, string $path = ''): string;
将给定图像转换为jpeg格式,调整为大比例分辨率,并返回结果图像的路径。如果目标路径为空,则替换原始文件。
getSinglePostPortrait
$imageResize->getSinglePostPortrait(string $filename, string $path = ''): string;
将给定图像转换为jpeg格式,调整为竖直比例分辨率,并返回结果图像的路径。如果目标路径为空,则替换原始文件。
getSinglePostOptimal
$imageResize->getSinglePostOptimal(string $filename, string $path = ''): string;
将给定图像转换为jpeg格式,调整为最匹配比例分辨率,并返回结果图像的路径。如果目标路径为空,则替换原始文件。
getGallerySquare
$imageResize->getGallerySquare(string $filename, string $path = ''): array;
将给定图像转换为jpeg格式,切割成几个正方形比例的结果图像,并返回这些图像的路径。如果目标路径为空,则存储在原始图像附近。
getGalleryLandscape
$imageResize->getGalleryLandscape(string $filename, string $path = ''): array;
将给定图像转换为jpeg格式,切割成几个横幅比例的结果图像,并返回这些图像的路径。如果目标路径为空,则存储在原始图像附近。
getGalleryPortrait
$imageResize->getGalleryPortrait(string $filename, string $path = ''): array;
将给定图像转换为jpeg格式,切割成几个竖直比例的结果图像,并返回这些图像的路径。如果目标路径为空,则存储在原始图像附近。
getGalleryOptimal
$imageResize->getGalleryOptimal(string $filename, string $path = ''): array;
将给定图像转换为jpeg格式,并切割成几个最匹配比例的结果图像,然后返回结果图像的路径。如果目标路径为空,则存储在原始图像附近。
getOptimalPost
$imageResize->getOptimalPost(string $filename, string $path = ''): array;
将给定图像转换为jpeg格式,并根据图像分辨率调整到最佳比例分辨率,或者切割成几个最匹配比例的结果图像,然后返回结果图像的路径。如果目标路径为空,则存储在原始图像附近。