Adicione marcas d'água às imagens armazenadas no OSS para proteger a propriedade intelectual e evitar uso não autorizado.
Cenários
Proteção de direitos autorais: uma marca d'água nas imagens indica a titularidade dos direitos autorais e impede o uso não autorizado.
Promoção da marca: incluir o logotipo ou nome da sua marca em imagens, vídeos ou documentos aumenta o reconhecimento da marca.
Prevenção contra adulteração: marcas d'água em documentos oficiais, certificados ou relatórios desencorajam alterações indevidas e reduzem o risco de falsificação.
Prevenção de roubo de imagens: como as imagens online são facilmente copiadas e republicadas, adicionar uma marca d'água desestimula o roubo.
Conformidade legal: algumas leis ou contratos exigem a adição de marca d'água a conteúdos específicos antes da publicação.
Limites
Use URLs de objetos, SDKs do OSS ou operações de API para configure parâmetros IMG de processamento de imagens. Este exemplo utiliza URLs de objetos, que permitem configure parâmetros IMG apenas para imagens com leitura pública. Para configure parâmetros IMG em imagens privadas, utilize os SDKs do OSS ou operações de API. Para mais informações, consulte Métodos de processamento de imagens.
As imagens de marca d'água devem estar armazenadas no mesmo bucket. Carregue imagens online ou locais no bucket antes de prosseguir.
Formatos suportados para marca d'água de imagem: JPG, PNG, BMP, WebP e TIFF.
Limite de três marcas d'água de imagem por figura. As marcas d'água não podem se sobrepor completamente.
Marcas d'água de texto não suportam caracteres do chinês tradicional.
Parâmetros
Ação: watermark
Os parâmetros estão agrupados por tipo nas tabelas a seguir.
-
Parâmetros básicos
Parâmetro
Obrigatório
Descrição
Valor
t
Não
Opacidade da marca d'água.
[0, 100]
Padrão: 100 (totalmente opaco).
g
Não
Posição da marca d'água na imagem.
-
nw: superior esquerdo
-
north: superior centralizado
-
ne: superior direito
-
west: meio à esquerda
-
center: centro
-
east: meio à direita
-
sw: inferior esquerdo
-
south: inferior centralizado
-
se (padrão): inferior direito
O diagrama abaixo ilustra as posições.
x
Não
Deslocamento horizontal a partir da borda da imagem. Aplica-se somente quando
gé defina comonw,west,sw,ne,eastouse.[0, 4096]
Padrão: 10
Unidade: pixels (px)
y
Não
Deslocamento vertical a partir da borda da imagem. Aplica-se somente quando
gé defina comonw,north,ne,sw,southouse.[0, 4096]
Padrão: 10
Unidade: pixels (px)
voffset
Não
Deslocamento vertical quando
gé defina comowest,centeroueast.[-1000, 1000]
Padrão: 0
Unidade: pixels (px)
fill
Não
Define se a marca d'água deve ser repetida em mosaico sobre a imagem original.
NotaPara utilizar o recurso de marca d'água em mosaico para imagens, envie uma solicitação no Quota Center.
-
1: Repete a marca d'água de imagem ou texto sobre toda a imagem original.
-
0 (padrão): Não repete a marca d'água sobre a imagem original.
padx
Não
Espaçamento horizontal entre marcas d'água em mosaico. Aplica-se apenas quando
fillé defina como 1.[0, 4096]
Padrão: 0
Unidade: pixels (px)
pady
Não
Espaçamento vertical entre marcas d'água em mosaico. Aplica-se apenas quando
fillé defina como 1.[0, 4096]
Padrão: 0
Unidade: pixels (px)
Esses deslocamentos controlam tanto a posição de uma única marca d'água quanto o layout do mosaico.
O diagrama a seguir mostra as posições de referência e seus valores correspondentes.

-
-
Parâmetros de marca d'água de imagem
Parâmetro
Obrigatório
Descrição
Valor
image
Sim
Caminho completo do objeto da imagem de marca d'água, codificado em Base64 seguro para URL (Codificação Base64 segura para URL). Por exemplo, codifique o caminho
image/panda.pngpara obteraW1hZ2UvcGFuZGEucG5n.NotaAs imagens de marca d'água devem ser objetos armazenados no mesmo bucket.
Uma string codificada em Base64 seguro para URL.
-
Parâmetros de pré-processamento da imagem de marca d'água
Use todos os parâmetros das ações resize, custom crop, indexed slice, rounded corners e rotate para pré-processar a imagem da marca d'água. Além disso, o pré-processamento suporta o parâmetro de escala P:
Parâmetro
Descrição
Valor
P
Dimensiona a imagem da marca d'água como uma porcentagem das dimensões da imagem original. Por exemplo, definir este valor como 10 em uma imagem original de 100 × 100 px dimensiona a marca d'água para 10 × 10 px. Se a imagem original mudar para 200 × 200 px, a marca d'água será dimensionada para 20 × 20 px.
[1, 100]
-
Parâmetros de marca d'água de texto
Parâmetro
Obrigatório
Descrição
Valor
text
Sim
Conteúdo de texto da marca d'água, codificado em Base64 seguro para URL (Codificação Base64 segura para URL).
A string de texto não deve exceder 64 bytes antes da codificação Base64.
type
Não
Fonte da marca d'água de texto. O nome da fonte deve ser codificado em Base64 seguro para URL.
Para fontes suportadas e seus valores codificados, consulte a tabela de tipos de fonte e codificação.
Padrão: wqy-zenhei (codificado como d3F5LXplbmhlaQ)
color
Não
Cor da marca d'água de texto.
Um valor de cor hexadecimal RGB. Por exemplo, 000000 para preto e FFFFFF para branco.
Padrão: 000000 (preto)
size
Não
Tamanho da fonte da marca d'água de texto.
(0, 1000]
Padrão: 40
Unidade: pixels (px)
shadow
Não
Opacidade da sombra da marca d'água de texto.
[0, 100]
Padrão: 0 (sem sombra).
rotate
Não
Ângulo de rotação horária do texto.
[0, 360]
Padrão: 0 (sem rotação).
A tabela a seguir lista as fontes disponíveis e seus valores codificados para o parâmetro type.
Valor do parâmetro
Descrição
Valor codificado
wqy-zenhei
WenQuanYi Zen Hei
d3F5LXplbmhlaQ
wqy-microhei
WenQuanYi Micro Hei
d3F5LW1pY3JvaGVp
fangzhengshusong
Fangzheng Shusong
ZmFuZ3poZW5nc2h1c29uZw
fangzhengkaiti
Fangzheng Kaiti
ZmFuZ3poZW5na2FpdGk
fangzhengheiti
Fangzheng Heiti
ZmFuZ3poZW5naGVpdGk
fangzhengfangsong
Fangzheng Fangsong
ZmFuZ3poZW5zZmFuZ3Nvbmc
droidsansfallback
DroidSansFallback
ZHJvaWRzYW5zZmFsbGJhY2s
-
Parâmetros de marca d'água de texto e imagem
Parâmetro
Obrigatório
Descrição
Valor
order
Não
Ordem de exibição das marcas d'água de texto e imagem.
0 ou 1
-
0 (padrão): A marca d'água de imagem fica na frente.
-
1: A marca d'água de texto fica na frente.
align
Não
Alinhamento das marcas d'água de texto e imagem.
0, 1 ou 2
-
0: As marcas d'água são alinhadas pelo topo.
-
1: As marcas d'água são centralizadas verticalmente.
-
2 (padrão): As marcas d'água são alinhadas pela base.
interval
Não
Espaçamento entre as marcas d'água de texto e imagem.
[0, 1000]
Padrão: 0
Unidade: pixels (px)
-
Codificação de marca d'água
Codifique parâmetros como conteúdo de texto, fonte e nome da imagem em Base64 seguro para URL:
Codifique o conteúdo em Base64.
-
Substitua os seguintes caracteres na string resultante:
Substitua cada sinal de mais (+) por um hífen (-).
Substitua cada barra (/) por um sublinhado (_).
Remova todos os sinais de igual (=) ao final.
Utilize um codificador base64url para codificar parâmetros como conteúdo de texto, cor do texto, fonte e nome da imagem de marca d'água.
Este conteúdo codificado destina-se apenas a parâmetros específicos da operação de marca d'água. Não utilize este conteúdo codificado na string de assinatura (Signature).
Métodos
Imagens públicas
Adicione uma marca d'água a uma imagem com leitura pública ou leitura/escrita pública anexando parâmetros IMG à URL da imagem.
Exemplo 1: Adicionar uma marca d'água de texto
Este exemplo utiliza a imagem example.jpg do bucket oss-console-img-demo-cn-hangzhou-3az na região China (Hangzhou). A URL para acessar a imagem é https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example.jpg
Os exemplos a seguir mostram como adicionar uma marca d'água de texto à imagem example.jpg:
-
Adicionar uma marca d'água de texto "Hello World"
Codifique o texto "Hello World" em Base64 seguro para URL (Codificar parâmetros de marca d'água). O resultado codificado é
SGVsbG8gV29ybGQ, e a URL para processamento da imagem é https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/watermark,text_SGVsbG8gV29ybGQ.
-
Adicionar uma marca d'água de texto com múltiplos parâmetros de processamento de imagem
Para adicionar uma marca d'água de texto "Hello World" à imagem example.jpg, configure os seguintes parâmetros de processamento tanto para a imagem original quanto para a marca d'água:
Redimensionar example.jpg para 300 × 300 pixels:
resize,w_300,h_300Definir a fonte como WenQuanYi Zen Hei:
type_d3F5LXplbmhlaQ(d3F5LXplbmhlaQ é o valor codificado em Base64 para WenQuanYi Zen Hei)Definir o conteúdo da marca d'água como "Hello World":
text_SGVsbG8gV29ybGQDefinir a cor do texto como branco e o tamanho da fonte como 30 pixels:
color_FFFFFF,size_30Definir a transparência da sombra do texto como 50%:
shadow_50Definir a posição da marca d'água no canto inferior direito, com deslocamento horizontal de 10 pixels e vertical de 10 pixels:
g_se,x_10,y_10
A URL para processamento da imagem é: https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/resize,w_300,h_300/watermark,type_d3F5LXplbmhlaQ,size_30,text_SGVsbG8gV29ybGQ,color_FFFFFF,shadow_50,t_100,g_se,x_10,y_10

Exemplo 2: Adicionar uma marca d'água de imagem
Os exemplos a seguir mostram como adicionar uma marca d'água de imagem à imagem example.jpg:
-
Adicionar a imagem panda.png como marca d'água
Codifique o nome da imagem de marca d'água, panda.png, em Base64 seguro para URL. O resultado codificado é
cGFuZGEucG5n. A URL para processamento da imagem é https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/watermark,image_cGFuZGEucG5n.O caminho completo da imagem de marca d'água deve ser codificado em Base64 seguro para URL para garantir sua transmissão correta na URL. Por exemplo, se a imagem de marca d'água se chama
panda.pnge está localizada no diretórioimage, codifique o caminho completoimage/panda.pngem Base64 seguro para URL. A string codificada éaW1hZ2UvcGFuZGEucG5n.
-
Adicionar uma marca d'água de imagem com múltiplos parâmetros de processamento
Para adicionar a marca d'água de imagem panda.png à imagem example.jpg, configure os seguintes parâmetros de processamento tanto para a imagem original quanto para a marca d'água:
Redimensionar example.jpg para 300 × 300 pixels:
resize,w_300,h_300Definir a qualidade de example.jpg como 90%:
quality,q_90Adicionar a marca d'água de imagem panda.png:
watermark,image_cGFuZGEucG5n(cGFuZGEucG5n é o valor codificado em Base64 para panda.png)Definir a transparência da marca d'água de imagem como 90%:
t_90Definir a posição da marca d'água de imagem no canto inferior direito, com deslocamento horizontal de 10 pixels e vertical de 10 pixels:
g_se,x_10,y_10
A URL para processamento da imagem é: https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/resize,w_300,h_300/quality,q_90/watermark,image_cGFuZGEucG5n,t_90,g_se,x_10,y_10

-
Pré-processar a marca d'água de imagem e configure múltiplos parâmetros
Para adicionar a marca d'água de imagem panda.png à imagem example.jpg, configure os seguintes parâmetros de processamento tanto para a imagem original quanto para a marca d'água:
Redimensionar a largura de example.jpg para 300 pixels:
resize,w_300Pré-processar a imagem de marca d'água panda.png dimensionando-a para 30% do tamanho original:
image_cGFuZGEucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLFBfMzA(O valorcGFuZGEucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLFBfMzAé a string codificada em Base64 parapanda.png?x-oss-process=image/resize,P_30)Definir a transparência da marca d'água como 90%, sua posição no canto inferior direito e seus deslocamentos horizontal e vertical como 10 pixels:
t_90,g_se,x_10,y_10
A URL para processamento da imagem é: https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/resize,w_300/watermark,image_cGFuZGEucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLFBfMzA,t_90,g_se,x_10,y_10

-
Adicionar múltiplas marcas d'água de imagem
Neste exemplo, duas marcas d'água de imagem, panda.png e Tulips.jpg, são adicionadas a example.jpg.
Codifique o nome da imagem de marca d'água, panda.png, em Base64 seguro para URL. O resultado codificado é
cGFuZGEucG5n. O parâmetro de processamento de imagem éwatermark,image_cGFuZGEucG5n.Codifique o nome da imagem de marca d'água, Tulips.jpg, em Base64 seguro para URL. O resultado codificado é
VHVsaXBzLmpwZw. Para posicionar a marca d'água de imagem no meio à esquerda da imagem original com deslocamentos horizontal e vertical de 10 pixels, o parâmetro de processamento de imagem éwatermark,image_VHVsaXBzLmpwZw,g_west,x_10,y_10.
A URL para processamento da imagem é:
Exemplo 3: Adicionar uma marca d'água de texto e imagem
Este exemplo mostra como adicionar uma marca d'água de texto e imagem à imagem example.jpg:
Ao combinar os valores codificados para panda.png e "Hello World" dos exemplos anteriores, construa a seguinte URL para processamento de imagem: https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/watermark,image_cGFuZGEucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLFBfMzA,text_SGVsbG8gV29ybGQ.
Imagens privadas
Use os SDKs da Alibaba Cloud ou a api REST para adicionar marcas d'água a imagens privadas.
SDKs da Alibaba Cloud
O código de exemplo a seguir demonstra a adição de uma marca d'água com SDKs comuns da Alibaba Cloud. Para outras linguagens, consulte Visão geral.
Java
É necessário o Alibaba Cloud SDK for Java 3.17.4 ou posterior.
import com.aliyun.oss.*;
import com.aliyun.oss.common.auth.*;
import com.aliyun.oss.common.comm.SignVersion;
import com.aliyun.oss.model.GetObjectRequest;
import java.io.File;
public class Demo {
public static void main(String[] args) throws Throwable {
// Specify the endpoint. In this example, the endpoint for the China (Hangzhou) region is used. Specify your actual endpoint.
String endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
// Specify the region where your bucket is located, for example, cn-hangzhou.
String region = "cn-hangzhou";
// Obtain access credentials from environment variables. Before you run the sample code, make sure that the OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET environment variables are configured.
EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
// Specify the bucket name. Example: examplebucket.
String bucketName = "examplebucket";
// Specify the full path of the object. The full path cannot contain the bucket name.
String objectName = "src.jpg";
// Specify the destination path for the local file, such as D:\\localpath\\example-new.jpg. The file is created or overwritten.
String pathName = "D:\\dest.jpg";
// Create an OSSClient instance.
// Call the shutdown method to release resources when the OSSClient instance is no longer needed.
ClientBuilderConfiguration clientBuilderConfiguration = new ClientBuilderConfiguration();
clientBuilderConfiguration.setSignatureVersion(SignVersion.V4);
OSS ossClient = OSSClientBuilder.create()
.endpoint(endpoint)
.credentialsProvider(credentialsProvider)
.clientConfiguration(clientBuilderConfiguration)
.region(region)
.build();
try {
// Add a "Hello World" text watermark to the image.
String image = "image/watermark,text_SGVsbG8gV29ybGQ";
GetObjectRequest request = new GetObjectRequest(bucketName, objectName);
request.setProcess(image);
// Save the processed image to your local machine as example-new.jpg.
// If you specify only the filename (for example, example-new.jpg) without a full path, the file is saved to the local directory of the project.
ossClient.getObject(request, new File("D:\\dest.jpg"));
} catch (OSSException oe) {
System.out.println("Caught an OSSException, which means your request made it to OSS, "
+ "but was rejected with an error response for some reason.");
System.out.println("Error Message:" + oe.getErrorMessage());
System.out.println("Error Code:" + oe.getErrorCode());
System.out.println("Request ID:" + oe.getRequestId());
System.out.println("Host ID:" + oe.getHostId());
} catch (ClientException ce) {
System.out.println("Caught an ClientException, which means the client encountered "
+ "a serious internal problem while trying to communicate with OSS, "
+ "such as not being able to access the network.");
System.out.println("Error Message:" + ce.getMessage());
} finally {
if (ossClient != null) {
ossClient.shutdown();
}
}
}
}
PHP
É necessário o Alibaba Cloud SDK for PHP 2.7.0 ou posterior.
<?php
if (is_file(__DIR__ . '/../autoload.php')) {
require_once __DIR__ . '/../autoload.php';
}
if (is_file(__DIR__ . '/../vendor/autoload.php')) {
require_once __DIR__ . '/../vendor/autoload.php';
}
use OSS\Credentials\EnvironmentVariableCredentialsProvider;
use OSS\OssClient;
// Obtain access credentials from environment variables. Before you run the sample code, make sure that the OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET environment variables are configured.
$provider = new EnvironmentVariableCredentialsProvider();
// Specify the endpoint of the region where the bucket is located. For example, if the bucket is in the China (Hangzhou) region, set the endpoint to https://oss-cn-hangzhou.aliyuncs.com.
$endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
// Specify the bucket name. Example: examplebucket.
$bucket= "examplebucket";
// Specify the full path of the object, for example, exampledir/exampleobject.jpg. The full path cannot contain the bucket name.
$object = "src.jpg";
// Specify the destination path for the local file, such as D:\\localpath\\example-new.jpg. The file is created or overwritten.
// If you specify only the filename (for example, example-new.jpg) without a full path, the file is saved to the local directory of the project.
$download_file = "D:\\dest.jpg";
$config = array(
"provider" => $provider,
"endpoint" => $endpoint,
"signatureVersion" => OssClient::OSS_SIGNATURE_VERSION_V4,
// Specify the general-purpose region ID.
"region" => "cn-hangzhou"
);
$ossClient = new OssClient($config);
// Add a "Hello World" text watermark to the image.
$image = "image/watermark,text_SGVsbG8gV29ybGQ";
$options = array(
OssClient::OSS_FILE_DOWNLOAD => $download_file,
OssClient::OSS_PROCESS => $image);
// Save the processed image to your local machine.
$ossClient->getObject($bucket, $object, $options);
Python
É necessário o Alibaba Cloud SDK for Python 2.18.4 ou posterior.
# -*- coding: utf-8 -*-
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider
# Obtain access credentials from environment variables. Before you run the sample code, make sure that the OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET environment variables are configured.
auth = oss2.ProviderAuthV4(EnvironmentVariableCredentialsProvider())
# Specify the endpoint of the region where the bucket is located. For example, if the bucket is in the China (Hangzhou) region, set the endpoint to https://oss-cn-hangzhou.aliyuncs.com.
endpoint = 'https://oss-cn-hangzhou.aliyuncs.com'
# Specify the general-purpose region ID.
region = 'cn-hangzhou'
bucket = oss2.Bucket(auth, endpoint, 'examplebucket', region=region)
# Specify the name of the source image. If the image is not in the root directory of the bucket, you must specify the full path, for example, exampledir/example.jpg.
key = 'src.jpg'
# Specify the name for the processed image.
new_pic = 'D:\\dest.jpg'
# Add a "Hello World" text watermark to the image.
image = 'image/watermark,text_SGVsbG8gV29ybGQ'
bucket.get_object_to_file(key, new_pic, process=image)
Go
É necessário o Alibaba Cloud SDK for Go 3.0.2 ou posterior.
package main
import (
"fmt"
"os"
"github.com/aliyun/aliyun-oss-go-sdk/oss"
)
func HandleError(err error) {
fmt.Println("Error:", err)
os.Exit(-1)
}
func main() {
// Obtain access credentials from environment variables. Before you run the sample code, make sure that the OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET environment variables are configured.
provider, err := oss.NewEnvironmentVariableCredentialsProvider()
if err != nil {
fmt.Println("Error:", err)
os.Exit(-1)
}
// Create an OSSClient instance.
// Specify the endpoint for your bucket. In this example, the endpoint for the China (Hangzhou) region is used. Specify your actual endpoint.
client, err := oss.New("https://oss-cn-hangzhou.aliyuncs.com", "", "", oss.SetCredentialsProvider(&provider), oss.AuthVersion(oss.AuthV4), oss.Region("cn-hangzhou"))
if err != nil {
HandleError(err)
}
// Specify the name of the bucket where the source image is stored. Example: examplebucket.
bucketName := "examplebucket"
bucket, err := client.Bucket(bucketName)
if err != nil {
HandleError(err)
}
// Specify the name of the source image. If the image is not in the root directory of the bucket, you must specify the full path, for example, exampledir/example.jpg.
sourceImageName := "src.jpg"
// Specify a name for the processed image.
targetImageName := "D://dest.jpg"
// Add a "Hello World" text watermark to the image.
image := "image/watermark,text_SGVsbG8gV29ybGQ"
err = bucket.GetObjectToFile(sourceImageName, targetImageName, oss.Process(image))
if err != nil {
HandleError(err)
}
}
api rest
Para aplicações altamente personalizadas, chame a api rest diretamente. Isso requer o cálculo manual da assinatura no seu código. Assinatura V4 (Recomendado).
Adicione marcas d'água às imagens incluindo parâmetros de marca d'água na operação GetObject.
GET /oss.jpg?x-oss-process=image/watermark,w_100 HTTP/1.1
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
Date: Fri, 28 Oct 2022 06:40:10 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
Perguntas frequentes
Uso de imagens online ou locais como marcas d'água
A imagem de marca d'água deve estar no mesmo bucket da imagem original. Carregue imagens online ou locais no bucket antes de prosseguir.
Erro "Font content is too large"
Marcas d'água de texto limitam-se a 64 caracteres (cada caractere chinês conta como três). Se você receber o erro "font content is too large", encurte o texto. Exemplo 1: Adicionar uma marca d'água de texto.
Falha na marca d'água de imagem em objetos privados
Objetos privados exigem uma url assinada. Inclua os parâmetros IMG ao gerar a assinatura, em vez de anexá-los posteriormente. Gerar uma url de objeto assinada que inclui parâmetros IMG.
Cor de fundo para marcas d'água de imagem
Não suportado.
Acesso a imagens com uma url assinada
Objetos privados exigem uma url assinada. Inclua os parâmetros IMG ao gerar a assinatura, em vez de anexá-los posteriormente. Processamento de imagens (Java SDK V1).
Organização vertical de marcas d'água
Sim. Use múltiplas ações watermark para organizar as marcas d'água verticalmente.

Redimensionamento dinâmico de marcas d'água
O IMG não suporta redimensionamento dinâmico de marcas d'água. Implemente uma lógica personalizada no seu cliente ou servidor para detectar as dimensões da imagem original e calcular o tamanho da marca d'água antes de chamar a api do OSS.
Número máximo de marcas d'água
Até três marcas d'água. Para adicionar mais, abra um ticket.
