AliOSS 图片水印简单处理

 官方说明文档:图片水印 - 对象存储 OSS - 用户指南 - 数据处理与索引 - 新版图片处理指南 - 图片处理参数 - 图片水印

前提: 在OSS的同一个 存储空间,可以不同文件夹,但要在同一个 BUCKET 内。

唯一要注意的是:

在添加水印操作中,文字水印的文字内容、文字颜色、文字字体、图片水印的水印图片名称等参数需要进行URL安全的Base64编码。编码步骤如下:

  1. 将内容编码成Base64。
  2. 将结果中的部分编码替换。
    • 将结果中的加号(+)替换成短划线(-)。
    • 将结果中的正斜线(/)替换成下划线(_)。
    • 将结果中尾部的等号(=)省略。

/**
     * 添加图片水印
     * @param type $mine_qcode      二维码
     * @param type $tg_image        背景海报
     * @return string
     */
    public function watermark2($mine_qcode, $tg_image) {
        $image_src = str_replace(AliConfig::OSS_HTTP, '', $mine_qcode); 
        $image = $this->urlsafe_b64encode($image_src);
        $pic_watermark_config = "?x-oss-process=image/watermark,image_" . $image;
        $pre_watermark = $tg_image . $pic_watermark_config;
        return $pre_watermark;
    }

  function urlsafe_b64encode($string) {
        $data = base64_encode($string);
        $data = str_replace(array('+', '/', '='), array('-', '_', ''), $data);
        return $data;
    }

效果图:

AliOSS 图片水印简单处理_第1张图片

 图片位置请自行参考文档

你可能感兴趣的:(PHP,OSS,php,OSS)