oneblackbear/mediaserver

用于OBB媒体服务的辅助工具

dev-master / 1.0.x-dev 2013-01-15 12:15 UTC

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);

####水印

水印过滤器允许将图像叠加应用到原始图像上。这也可以用于向图像添加标准叠加,例如即将推出或新产品照片上的新爆发叠加。

水印的语法如下