1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 阿里云oss对象存储:给图片添加(多行)文字图片水印

阿里云oss对象存储:给图片添加(多行)文字图片水印

时间:2018-07-19 07:54:16

相关推荐

阿里云oss对象存储:给图片添加(多行)文字图片水印

一、说明二、php代码三、加图片水印四、加多行文字水印1、说明2、图片效果 - 水印前3、图片效果 - 水印后

一、说明

拼接 阿里云 oss 的图片地址

文档

对象存储 OSS 图片处理

对象存储 OSS 图片水印

OSS图片处理6.0

二、php代码

public function test() {$url = !empty($_REQUEST['url']) ? $_REQUEST['url'] : 'jpg,png,gif,jpeg...结尾的 oss图片地址';$url = self::textWatermark($url, "水印的具体内容 2322-01-12 01:41:21", 'fangzhengkaiti', 'FFFFFF', 18, 60, 20);echo "<img src='{$url}' />";die;}/*** 给oss图片加上水印对象存储 OSS 图片处理:/document_detail/47735.html对象存储 OSS 图片水印:/document_detail/44957.html#watermarkOSS图片处理6.0 /image/index.html?spm=a2c4g.11186623.0.0.67904a9cM9TzLA* @param $url 图片地址,如:https://img-test.***.com/051447.png* @param $text 文字水印的文字内容,文字内容需进行Base64编码(Base64编码之前中文字符串的最大字节长度为64个字符。)* @param string $type 文字水印的字体,字体名称需进行Base64编码。默认值:wqy-zenhei( 编码后的值为d3F5LXplbmhlaQ)wqy-zenhei 文泉驿正黑 d3F5LXplbmhlaQwqy-microhei文泉微米黑 d3F5LW1pY3JvaGVpfangzhengshusong 方正书宋 ZmFuZ3poZW5nc2h1c29uZwfangzhengkaiti方正楷体 ZmFuZ3poZW5na2FpdGkfangzhengheiti方正黑体 ZmFuZ3poZW5naGVpdGkfangzhengfangsong 方正仿宋 ZmFuZ3poZW5nZmFuZ3Nvbmcdroidsansfallback DroidSansFallback ZHJvaWRzYW5zZmFsbGJhY2s* @param string $color 文字水印的文字颜色,参数值为RGB颜色值。RGB颜色值,例如:000000表示黑色,FFFFFF表示白色。 默认值:000000(黑色)* @param int $size 文字水印的文字大小。(0,1000] 默认值:40 单位:px* @param int $t 图片水印或水印文字的透明度。[0,100] 默认值:100, 表示透明度100%(不透明)。* @param int $shadow 文字水印的阴影透明度。[0,100] 默认值:0,表示没有阴影。* @param int $rotate 文字顺时针旋转角度。[0,360] 默认值:0,表示不旋转。* @param int $fill 是否将文字水印铺满原图。0、1(1:表示将文字水印铺满原图。0(默认值):表示不将文字水印铺满全图。)* @param string $p [1,100] 指定图片水印按照原图的比例进行缩放,取值为缩放的百分比。如设置参数值为10,如果原图为100×100, 则图片水印大小为10×10。当原图变成了200×200,则图片水印大小为20×20。* @param string $g 水印在图片中的位置。nw:左上north:中上ne:右上west:左中center:中部east:右中sw:左下south:中下se(默认值):右下* @param int $x 指定水印的水平边距, 即距离图片边缘的水平距离。这个参数只有当水印位置是左上、左中、左下、右上、右中、右下才有意义。[0,4096] 默认值:10 单位:像素(px)* @param int $y 指定水印的垂直边距,即距离图片边缘的垂直距离, 这个参数只有当水印位置是左上、中上、右上、左下、中下、右下才有意义。 [0,4096] 默认值:10 单位:px* @param int $voffset 定水印的中线垂直偏移。当水印位置在左中、中部、右中时,可以指定水印位置根据中线往上或者往下偏移。[-1000,1000] 默认值:0 单位:px* @return string 拼接好的 url 地址*/public function textWatermark($url, $text, $type = 'wqy-zenhei', $color = '000000', $size = 40, $t = 100, $shadow = 0, $rotate = 0, $fill = 0,$p = '', $g = 'se', $x = 10, $y = 10, $voffset = 0) {$textLength = strlen($text);$maxLength = 64;if ($textLength > $maxLength) {Log::info("图片地址[{$url}],水印文字[{$text}]长度 {$textLength} > {$maxLength}");}$text = self::base64url_encode($text);$url .= '?x-oss-process=image/watermark,text_' . $text;if ($type != 'wqy-zenhei') {$type = self::base64url_encode($type);$url .= ',type_' . $type;}//定义字段对应的默认值数组$conditionArray = [['field' => 'color', 'default_value' => '000000'],['field' => 'size', 'default_value' => 40],['field' => 't', 'default_value' => 100],['field' => 'shadow', 'default_value' => 0],['field' => 'rotate', 'default_value' => 0],['field' => 'fill', 'default_value' => 0],['field' => 'p', 'default_value' => ''],['field' => 'g', 'default_value' => 'se'],['field' => 'x', 'default_value' => 10],['field' => 'y', 'default_value' => 10],['field' => 'voffset', 'default_value' => 0],];foreach ($conditionArray as $item) {$field = $item['field'];$fieldValue = $$field; //$$ 引用变量if ($fieldValue != $item['default_value']) {//不是默认值,拼接参数//$url .= ',color_' . $color;$url .= ",{$field}_" . $fieldValue;}}// echo $url; //输出看下,拼接结果return $url;}/*在添加水印操作中,文字水印的文字内容、文字颜色、文字字体、图片水印的水印图片名称等参数需要进行URL安全的Base64编码。编码步骤如下:# 将内容编码成Base64。# 将结果中的部分编码替换。- 将结果中的加号(+)替换成短划线(-)。- 将结果中的正斜线(/)替换成下划线(_)。- 将结果中尾部的等号(=)省略。*/function base64url_encode($data) {return rtrim(strtr(base64_encode($data), '+/', '-_'), '=');}

三、加图片水印

方法和文字的差不多,把text参数 改成imageimage参数的说明如下:

四、加多行文字水印

1、说明

地址 + 参数:比如http:test.***.com/20991201/1314521.png?x-oss-process=image/watermark,type_............参数的值如下

?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,size_30,text_5rC05Y2w55qE5YW35L2T5YaF5a65MSAyMzIyLTAxLTEyIDAxOjQxOjIx,color_FFFFFF,shadow_50,t_100,g_se,x_10,y_10/watermark,type_d3F5LXplbmhlaQ,size_30,text_5rC05Y2w55qE5YW35L2T5YaF5a65MiDlpb3nmoQ,color_00FF00,shadow_50,t_100,g_se,x_100,y_100

2、图片效果 - 水印前

3、图片效果 - 水印后

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。