acetonesoft / acetone-api-php
用于AceTone.AI API的PHP类 - 从图片中移除背景
v1.0.0b
2023-07-30 17:23 UTC
Requires
- php: >=7.4
- ext-json: *
- guzzlehttp/guzzle: ^6.2|^7.0
Requires (Dev)
- ext-gd: *
- phpunit/phpunit: ^9.0
README
您可以使用AceTone.ai的API编程移除图片背景。您还可以使用纯色、渐变或径向渐变填充背景。或者您可以用其他图片替换背景。
重要:您需要在https://acetone.ai/注册账户并获取API密钥。
安装
通过composer安装
composer require avadim/acetone-api-php
快速开始
use avadim\Acetone\AcetoneApi; $acetone = new AcetoneApi($apiKey); $acetone->fromFile($sourceImageFile)->save($targetImageFile);
高级用法
源代码
图片可以来自链接、文件、二进制字符串或base64字符串。
// Get source image from URL $acetone->fromUrl($imageUrl)->save($outFile); // Get source image from file $acetone->fromFile($imageFile)->save($outFile); // Get image from binary string $acetone->fromString($imageString)->save($outFile); // Get image as a base64-string $acetone->fromBase64($base64)->save($outFile);
背景操作
// Just remove background $acetone->fromFile($imageUrl)->bgRemove()->save($outFile); // Set background color $acetone->fromFile($imageUrl)->bgColor('f00')->save($outFile); $acetone->fromFile($imageUrl)->bgColor('#f00')->save($outFile); $acetone->fromFile($imageUrl)->bgColor([255,0,0])->save($outFile); // Fill background by a linear gradient $colors = ['f00', '33c']; $vector = -30; $acetone->fromFile($imageUrl)->bgRadialGradient($colors, $vector)->save($outFile); // Fill background by a radial gradient $colors = ['f00', '33c']; $center = [120, 240]; $acetone->fromFile($imageUrl)->bgGradient($colors, $center)->save($outFile); // Set grayscale mode of background $acetone->fromFile($imageUrl)->bgGrayscale()->save($outFile); // Set background image from binary string $bgImageFile = 'path/to/new/background'; $bgImage = file_get_contents($bgImageFile); $acetone->fromFile($imageUrl)->bgImage($bgImage)->save($outFile); // Or set background image from file $bgImageFile = 'path/to/new/background'; $acetone->fromFile($imageUrl)->bgImageFile($bgImage)->save($outFile);
调整结果图片大小
$acetone->fromFile($imageFile) ->size(800, 600, AcetoneApi::IMG_FIT_COVER, AcetoneApi::IMG_FIT_COVER) ->bgImageFile($imageFileBg) ->save($outFile);
裁剪结果图片以适应前景
$acetone->fromFile($imageFile) ->crop() ->get();
获取结果图片为二进制字符串
// You can define output format - png, jpg or webp (png is default) $imageStr = $acetone->fromFile($imageFile)->get('webp'); $image = imagecreatefromstring($imageStr); // Some manipulations imagejpeg($im, 'image.jpg');