oneblackbear / mediaserver
用于OBB媒体服务的辅助工具
Requires
- php: >=5.4.0
This package is not auto-updated.
Last update: 2024-09-14 13:52:49 UTC
README
#One Black Bear Mediaserver
将图像服务和调整委托给更强大的服务器,同时保持单个本地副本。
安装
安装通过composer完成,例如,将以下内容添加到您的composer.json中
"require": {
"php": ">=5.4",
"oneblackbear/mediaserver": "1.0.*"
}
用法
对于简单的即插即用用法,您需要以下配置项
- 充当媒体服务器的服务器
- 私有安全密钥(这将防止未经授权的用户滥用)
- 要提供的服务图像的完整URL。
基本示例
使用以下代码启动。
<?php
use OBB\Mediaserver\Asset;
$server = [
"server"=> "example.co.uk",
"server_key"=> "secretexample"
];
$options = [
"width"=> 300,
"height"=> 300
];
$asset = new Asset($server);
$url = $asset->url("http://path/to/image.jpg", $options);
// Example output:
// http://example.co.uk/4nB7OmYXS1Duobw_1bhp9QcJImw=/300x300/smart/http://path/to/image.jpg
提供的图像示例
http://m1.obb.im/ViIPnXE3v-e8kJWaUYBpGmKIbGU=/600x500/smart/isuzu.co.uk/m/81e072/1200.jpg
完整的URL组件由5个主要部分组成。
- 媒体服务器,例如示例中的 "http://m1.obb.im"
- 安全签名,例如:
ViIPnXE3v-e8kJWaUYBpGmKIbGU=
- 通过选项传递的请求的宽度和高度
- 显示模式,在这种情况下,默认模式是
smart
- 原始图像的URL
附加选项
智能裁剪是默认设置,因为它使用OpenCV检测主区域,但您也可以覆盖它以强制执行首选裁剪。
以这个示例图像为例:http://isuzu.co.uk/m/7c67e8/860.jpg
这是默认的智能裁剪,使用以下内容
$img_settings = [
"width"=>600,
"height"=>500,
];
$url = $asset->url("isuzu.co.uk/m/7c67e8/860.jpg", $img_settings);
http://m1.obb.im/apLfSdsm7Y2ViSPdn6d7zekZ44g=/600x500/smart/isuzu.co.uk/m/7c67e8/860.jpg
居中裁剪
$img_settings = [
"width" =>600,
"height"=>500,
"mode" =>"center"
];
$url = $asset->url("isuzu.co.uk/m/7c67e8/860.jpg", $img_settings);
http://m1.obb.im/d647itICnSyd8PCXf4NlXdbsX_o=/600x500/center/isuzu.co.uk/m/7c67e8/860.jpg
左裁剪
$img_settings = [
"width" =>600,
"height"=>500,
"mode" =>"left"
];
$url = $asset->url("isuzu.co.uk/m/7c67e8/860.jpg", $img_settings);
http://m1.obb.im/Zme6sT9kw4KpU-Y-7wq2RpErqTM=/600x500/left/isuzu.co.uk/m/7c67e8/860.jpg
右裁剪
$img_settings = [
"width" =>600,
"height"=>500,
"mode" =>"right"
];
$url = $asset->url("isuzu.co.uk/m/7c67e8/860.jpg", $img_settings);
http://m1.obb.im/G6WHVA-0O8Y958TFb4uM06gGj2Y=/600x500/right/isuzu.co.uk/m/7c67e8/860.jpg
宽度和高度生成
在其最简单的用法中,只需指定所需的宽度和高度,图像将被提供,必要时进行裁剪,以匹配所需的尺寸。
基于比例的生成
只需将比例维度替换为零。例如
$img_settings = [
"width"=>700,
"height"=>0,
];
$url = $asset->url("isuzu.co.uk/m/7c67e8/860.jpg", $img_settings);
结果图像:http://m1.obb.im/tKqROt8jn_Sp-Bvm81IZOzLzRlU=/700x0/right/isuzu.co.uk/m/7c67e8/860.jpg
对于相反的情况
$img_settings = [
"width"=>0,
"height"=>400,
];
$url = $asset->url("isuzu.co.uk/m/7c67e8/860.jpg", $img_settings);
获得以下图像:http://m1.obb.im/B6OnIQHxbuV_9zfNXva6Xvgsiqg=/0x400/right/isuzu.co.uk/m/7c67e8/860.jpg
原始尺寸
最后,您可以指定宽度和高度为零以获取原始尺寸。请注意,由于这是宽度和高度的默认值,因此您可以这样做
$url = $asset->url("isuzu.co.uk/m/7c67e8/860.jpg");
这将给出以下图像:http://m1.obb.im/nuXfoLZ9umswOZvg7reqeg9lYTo=/0x0/smart/isuzu.co.uk/m/7c67e8/860.jpg
图像元数据
文档即将推出
过滤器
以下过滤器可用,文档将在模块启用时提供。
过滤器作为字符串传递到URL选项中。
亮度
更改图像亮度,语法
brightness(%num)
生成PHP代码
$img_settings = [
"filters"=>"brightness(60)"
];
$url = $asset->url("isuzu.co.uk/m/7c67e8/860.jpg", $img_settings);
####水印
水印过滤器允许将图像叠加应用到原始图像上。这也可以用于向图像添加标准叠加,例如即将推出或新产品照片上的新爆发叠加。
水印的语法如下