arjanwestdorp/imaginary-client

imaginary图像服务的客户端

1.0.6 2018-05-17 13:30 UTC

This package is auto-updated.

Last update: 2024-09-05 20:16:54 UTC


README

Latest Stable Version License Build Status Quality Score Coverage

imaginary图像服务的客户端。Imaginary是一个动态调整图像大小的服务。遗憾的是,该服务尚未开源。

安装

建议通过composer安装客户端

composer require arjanwestdorp/imaginary-client

使用方法

$client = new Client([
    'client' => 'CLIENT',
    'url' => 'https://imaginaryurl.com',
]);
 
$client->fetch('http://www.test.com/test.jpg')->url();
// https://imaginaryurl.com/CLIENT/image/fetch/http://www.test.com/test.jpg
 
$client->fetch('http://www.test.com/test.jpg')
    ->width(100)
    ->height(100)
    ->url();

// https://imaginaryurl.com/CLIENT/image/fetch/w_100,h_100/http://www.test.com/test.jpg

预定义定义

您可以为操作添加预定义的集合。想法是您可以在整个应用程序中重复使用相同的操作多次,只需定义一次即可。

$client->define('landscape', function($imaginary){
    $imaginary->width(400)
        ->height(300)
        ->fit();
});
 
$client->fetch('http://www.test.com/test.jpg')
    ->landscape()
    ->url();
// https://imaginaryurl.com/CLIENT/image/fetch/w_400,h_300,c_fit/http://www.test.com/test.jpg

选项

width($width)

以像素为单位调整图像的宽度。

height($height)

以像素为单位调整图像的高度。

fit($gravity = null)

将调整大小适应给定的维度(宽度,高度)。通过设置重力,您可以标记要从中裁剪的切割位置。默认情况下,它将从中心裁剪。选项包括

  • 左上角
  • 顶部
  • 右上角
  • 左边
  • 右边
  • 中心(默认)
  • 左下角
  • 底部
  • 右下角

circle($radius = 'max')

制作圆形图像。如果不设置半径,它将使用图像大小并使其成为圆形。通过设置半径,图像将调整大小以匹配该半径。如果图像大于半径,它将自动使用 fit('center') 操作在制作圆形之前。圆形操作将在调整大小操作(如宽度、高度)之后调用,因此您可以在应用圆形之前调整图像到您需要的尺寸。

安全

如果您发现任何安全问题,请通过arjanwestdorp@gmail.com发送电子邮件,而不是创建一个问题。

鸣谢

许可

MIT许可证(MIT)。有关更多信息,请参阅许可文件