本文提供了媒体处理PHP SDK水印模块相关功能的API调用示例。

前提条件

使用前请先安装及完成PHP SDK相关配置,详细信息,请参见前言。更多SDK及API调用示例,请参见OpenAPI

创建水印模板

调用AddWaterMarkTemplate新增水印模板,接口参数和返回字段详细信息请参见创建水印模板,调用示例如下:

<?php

// This file is auto-generated, don't edit it. Thanks.
namespace AlibabaCloud\SDK\Sample;

use AlibabaCloud\SDK\Mts\V20140618\Mts;

use Darabonba\OpenApi\Models\Config;
use AlibabaCloud\SDK\Mts\V20140618\Models\AddWaterMarkTemplateRequest;

class Sample {

    /**
     * 使用AK&SK初始化账号Client
     * @param string $accessKeyId
     * @param string $accessKeySecret
     * @return Mts Client
     */
    public static function createClient($accessKeyId, $accessKeySecret){
        $config = new Config([
            // 您的AccessKey ID
            "accessKeyId" => $accessKeyId,
            // 您的AccessKey Secret
            "accessKeySecret" => $accessKeySecret
        ]);
        // 访问的域名
        $config->endpoint = "mts.cn-shanghai.aliyuncs.com";
        return new Mts($config);
    }

    /**
     * @param string[] $args
     * @return void
     */
    public static function main($args){
        $client = self::createClient("accessKeyId", "accessKeySecret");
        $addWaterMarkTemplateRequest = new AddWaterMarkTemplateRequest([
            //水印模板配置。其中Type(水印类型)目前仅支持Image。
            "config" => "{\"Width\":\"10\",\"Height\":\"30\",\"Dx\":\"10\",\"Dy\":\"5\",\"ReferPos\":\"TopRight\",\"Type\":\"Image\",\"Timeline\":{\"Start\":\"0\",\"Duration\":\"10\"}}",
            //水印模板名称。支持中英文,数字等,最大长度128字节。
            "name" => "example-watermark"
        ]);
        $client->addWaterMarkTemplate($addWaterMarkTemplateRequest);
    }
}
$path = __DIR__ . \DIRECTORY_SEPARATOR . '..' . \DIRECTORY_SEPARATOR . 'vendor' . \DIRECTORY_SEPARATOR . 'autoload.php';
if (file_exists($path)) {
    require_once $path;
}
Sample::main(array_slice($argv, 1));

更新水印模板

调用UpdateWaterMarkTemplate更新水印模板,接口参数和返回字段详细信息请参见更新水印模板,调用示例如下:

<?php

// This file is auto-generated, don't edit it. Thanks.
namespace AlibabaCloud\SDK\Sample;

use AlibabaCloud\SDK\Mts\V20140618\Mts;

use Darabonba\OpenApi\Models\Config;
use AlibabaCloud\SDK\Mts\V20140618\Models\UpdateWaterMarkTemplateRequest;

class Sample {

    /**
     * 使用AK&SK初始化账号Client
     * @param string $accessKeyId
     * @param string $accessKeySecret
     * @return Mts Client
     */
    public static function createClient($accessKeyId, $accessKeySecret){
        $config = new Config([
            // 您的AccessKey ID
            "accessKeyId" => $accessKeyId,
            // 您的AccessKey Secret
            "accessKeySecret" => $accessKeySecret
        ]);
        // 访问的域名
        $config->endpoint = "mts.cn-shanghai.aliyuncs.com";
        return new Mts($config);
    }

    /**
     * @param string[] $args
     * @return void
     */
    public static function main($args){
        $client = self::createClient("accessKeyId", "accessKeySecret");
        $updateWaterMarkTemplateRequest = new UpdateWaterMarkTemplateRequest([
            //需要更新的水印模板ID
            "waterMarkTemplateId" => "94ac199566d6414f9110a3b37e8c****",
            //更新后的模板名称。支持中英文、数字等,最大长度128字节
            "name" => "WaterMark-example",
            //更新后的水印模板配置
            "config" => "{\"Width\":\"10px\",\"Height\":\"30px\",\"Dx\":\"10px\",\"Dy\":\"5px\",\"Type\":\"Image\",\"Timeline\":{\"Start\":\"0\",\"Duration\":\"10\"}}"
        ]);
        $client->updateWaterMarkTemplate($updateWaterMarkTemplateRequest);
    }
}
$path = __DIR__ . \DIRECTORY_SEPARATOR . '..' . \DIRECTORY_SEPARATOR . 'vendor' . \DIRECTORY_SEPARATOR . 'autoload.php';
if (file_exists($path)) {
    require_once $path;
}
Sample::main(array_slice($argv, 1));

查询水印模板

调用QueryWaterMarkTemplateList查询水印模板,接口参数和返回字段详细信息请参见查询水印模板,调用示例如下:

<?php

// This file is auto-generated, don't edit it. Thanks.
namespace AlibabaCloud\SDK\Sample;

use AlibabaCloud\SDK\Mts\V20140618\Mts;

use Darabonba\OpenApi\Models\Config;
use AlibabaCloud\SDK\Mts\V20140618\Models\QueryWaterMarkTemplateListRequest;

class Sample {

    /**
     * 使用AK&SK初始化账号Client
     * @param string $accessKeyId
     * @param string $accessKeySecret
     * @return Mts Client
     */
    public static function createClient($accessKeyId, $accessKeySecret){
        $config = new Config([
            // 您的AccessKey ID
            "accessKeyId" => $accessKeyId,
            // 您的AccessKey Secret
            "accessKeySecret" => $accessKeySecret
        ]);
        // 访问的域名
        $config->endpoint = "mts.cn-shanghai.aliyuncs.com";
        return new Mts($config);
    }

    /**
     * @param string[] $args
     * @return void
     */
    public static function main($args){
        $client = self::createClient("accessKeyId", "accessKeySecret");
        $queryWaterMarkTemplateListRequest = new QueryWaterMarkTemplateListRequest([
            //需要查询的水印模板ID,最多一次查10个,半角逗号(,)分隔
            "waterMarkTemplateIds" => "94ac199566d6414f9110a3b37e8c****"
        ]);
        $client->queryWaterMarkTemplateList($queryWaterMarkTemplateListRequest);
    }
}
$path = __DIR__ . \DIRECTORY_SEPARATOR . '..' . \DIRECTORY_SEPARATOR . 'vendor' . \DIRECTORY_SEPARATOR . 'autoload.php';
if (file_exists($path)) {
    require_once $path;
}
Sample::main(array_slice($argv, 1));

搜索水印模板

调用SearchWaterMarkTemplate搜索水印模板,接口参数和返回字段详细信息请参见搜索水印模板,调用示例如下:

<?php

// This file is auto-generated, don't edit it. Thanks.
namespace AlibabaCloud\SDK\Sample;

use AlibabaCloud\SDK\Mts\V20140618\Mts;

use Darabonba\OpenApi\Models\Config;
use AlibabaCloud\SDK\Mts\V20140618\Models\SearchWaterMarkTemplateRequest;

class Sample {

    /**
     * 使用AK&SK初始化账号Client
     * @param string $accessKeyId
     * @param string $accessKeySecret
     * @return Mts Client
     */
    public static function createClient($accessKeyId, $accessKeySecret){
        $config = new Config([
            // 您的AccessKey ID
            "accessKeyId" => $accessKeyId,
            // 您的AccessKey Secret
            "accessKeySecret" => $accessKeySecret
        ]);
        // 访问的域名
        $config->endpoint = "mts.cn-shanghai.aliyuncs.com";
        return new Mts($config);
    }

    /**
     * @param string[] $args
     * @return void
     */
    public static function main($args){
        $client = self::createClient("accessKeyId", "accessKeySecret");
        $searchWaterMarkTemplateRequest = new SearchWaterMarkTemplateRequest([
            //需要搜索的水印模板状态
            "state" => "Normal",
            //分页查询时设置的每页大小
            "pageSize" => 10,
            //当前页号
            "pageNumber" => 1
        ]);
        $client->searchWaterMarkTemplate($searchWaterMarkTemplateRequest);
    }
}
$path = __DIR__ . \DIRECTORY_SEPARATOR . '..' . \DIRECTORY_SEPARATOR . 'vendor' . \DIRECTORY_SEPARATOR . 'autoload.php';
if (file_exists($path)) {
    require_once $path;
}
Sample::main(array_slice($argv, 1));

删除水印模板

调用DeleteWaterMarkTemplate删除水印模板,接口参数和返回字段详细信息请参见删除水印模板,调用示例如下:

<?php

// This file is auto-generated, don't edit it. Thanks.
namespace AlibabaCloud\SDK\Sample;

use AlibabaCloud\SDK\Mts\V20140618\Mts;

use Darabonba\OpenApi\Models\Config;
use AlibabaCloud\SDK\Mts\V20140618\Models\DeleteWaterMarkTemplateRequest;

class Sample {

    /**
     * 使用AK&SK初始化账号Client
     * @param string $accessKeyId
     * @param string $accessKeySecret
     * @return Mts Client
     */
    public static function createClient($accessKeyId, $accessKeySecret){
        $config = new Config([
            // 您的AccessKey ID
            "accessKeyId" => $accessKeyId,
            // 您的AccessKey Secret
            "accessKeySecret" => $accessKeySecret
        ]);
        // 访问的域名
        $config->endpoint = "mts.cn-shanghai.aliyuncs.com";
        return new Mts($config);
    }

    /**
     * @param string[] $args
     * @return void
     */
    public static function main($args){
        $client = self::createClient("accessKeyId", "accessKeySecret");
        $deleteWaterMarkTemplateRequest = new DeleteWaterMarkTemplateRequest([
            //需要删除的水印模板ID
            "waterMarkTemplateId" => "98a5f54d54a741edb047e337ad86****"
        ]);
        $client->deleteWaterMarkTemplate($deleteWaterMarkTemplateRequest);
    }
}
$path = __DIR__ . \DIRECTORY_SEPARATOR . '..' . \DIRECTORY_SEPARATOR . 'vendor' . \DIRECTORY_SEPARATOR . 'autoload.php';
if (file_exists($path)) {
    require_once $path;
}
Sample::main(array_slice($argv, 1));