magroski / bob-ross
一个简单的方法来上传、操作和持久化图像。
v1.0.6
2022-11-28 19:38 UTC
Requires
- php: ^7.1 || ^8
- aws/aws-sdk-php: ^3.27
Requires (Dev)
- object-calisthenics/phpcs-calisthenics-rules: ^3.1
- phpstan/phpstan: ^0.10.0
- phpunit/phpunit: ^7.5
- roave/security-advisories: dev-master
- slevomat/coding-standard: 4.5
- squizlabs/php_codesniffer: *
README
这个库提供了一个简单的方法来上传、操作和持久化图像。
“我们不做错,只是快乐的小意外。” - Bob Ross
用法示例
从多个来源上传
$persistenceHandler = new LocalFileSystem(); $painter = new Painter($persistenceHandler); # From upload form ($_FILE) $painter->loadFromFileGlobal('profile_pic'); # From file system $painter->loadFromFileSystem('/home/bob/images/happy_trees.png'); # From Uri $painter->loadFromUri('https://joyOfPainting.com/bob.png');
持久化到不同的环境
# Amazon S3 $s3Handler = new S3(new Config('credentials','key','region)); $painter = new Painter($s3Handler); $painter->save('myFolder'); # Local $localHandler = new LocalFileSystem(); $painter = new Painter($localHandler); $painter->save('myFolder');
进行尺寸操作
$localHandler = new LocalFileSystem(); $painter = new Painter($localHandler); $painter->loadFromFileSystem('/home/img/tree.png'); $painter->saveFixedWidth(1200, '/home/img'); $painter->saveFixedHeight(800, '/home/img'); $painter->saveMaxWidhtHeight(1920, 1080, 'home/img'); $painter->saveThumb(200, 200, '/home/img');
在格式之间转换
$localHandler = new LocalFileSystem(); $painter = new Painter($localHandler); $painter->loadFromFileSystem('/home/img/tree.png'); $painter->setImageCovert('bmp'); $painter->save('/home/img');
改变JPEG质量
$localHandler = new LocalFileSystem(); $painter = new Painter($localHandler); $painter->loadFromFileSystem('/home/img/tree.png'); $painter->setJpegQuality(50); $painter->save('/home/img');