Object Storage Service (OSS) に保存されている画像およびファイルにウォーターマークを追加することで、著作権の保護や不正な複製・利用を防止できます。
利用シーン
-
著作権保護:画像にウォーターマークを付与することで、著作権の帰属を明示し、不正利用を防止します。
-
ブランドプロモーション:画像、動画、またはドキュメントにブランドロゴや名称を含むウォーターマークを追加することで、ブランド認知度を高めます。
-
改ざん防止:公式文書、証明書、レポートなどにウォーターマークを付与することで、改ざん行為を抑制し、偽造リスクを低減します。
-
画像盗用防止:オンライン上の画像は容易にコピー・再公開されるため、ウォーターマークを追加することで盗用を抑制します。
-
法的コンプライアンス:一部の法律または契約では、特定のコンテンツを公開する前にウォーターマークを付与することが求められる場合があります。
注意事項
-
オブジェクト URL、OSS SDK、または API オペレーションを使用して、画像処理に使用する IMG パラメーターを設定できます。本例ではオブジェクト URL を使用します。オブジェクト URL を使用して IMG パラメーターを設定できるのは、公開読み取り(public-read)の画像のみです。非公開画像に対して IMG パラメーターを設定する場合は、OSS SDK または API オペレーションをご利用ください。詳細については、「画像処理方法」をご参照ください。
-
ウォーターマーク画像は、現在のバケット内に保存されている必要があります。オンラインまたはローカルの画像を使用する場合は、事前に現在のバケットにアップロードしてください。
-
画像ウォーターマークで現在サポートされているフォーマットは、JPG、PNG、BMP、WebP、および TIFF のみです。
-
1 つの画像に最大 3 つの異なる画像ウォーターマークを追加できます。ただし、ウォーターマーク同士が完全に重複することはできません。
-
テキストウォーターマークは繁体字中国語をサポートしていません。
パラメーター
action:watermark
以下の表は、各パラメーターについて説明しています。
-
基本パラメーター
パラメーター
必須
説明
値
t
いいえ
画像またはテキストウォーターマークの不透明度を指定します。
[0, 100]
デフォルト:100(完全に不透明)。
g
いいえ
画像上でのウォーターマークの基準位置を指定します。
-
nw:左上
-
north:上中央
-
ne:右上
-
west:中央左
-
center:中央
-
east:中央右
-
sw:左下
-
south:下中央
-
se(デフォルト):右下
詳細については、以下の基準位置図をご参照ください。
x
いいえ
画像の端からの水平方向のオフセットを指定します。このパラメーターは、
gがnw、west、sw、ne、east、またはseに設定されている場合にのみ適用されます。[0, 4096]
デフォルト:10
単位:ピクセル(px)
y
いいえ
画像の端からの垂直方向のオフセットを指定します。このパラメーターは、
gがnw、north、ne、sw、south、またはseに設定されている場合にのみ適用されます。[0, 4096]
デフォルト:10
単位:ピクセル(px)
voffset
いいえ
このパラメーターは、
gがwest、center、またはeastに設定されている場合に、ウォーターマークを垂直方向に移動させます。[-1000, 1000]
デフォルト:0
単位:ピクセル(px)
fill
いいえ
ソース画像全体に画像またはテキストウォーターマークをタイル状に配置するかどうかを指定します。
説明画像ウォーターマークのタイル型ウォーターマーク機能を使用するには、クォータセンターでリクエストを送信してください。
-
1:ソース画像全体に画像またはテキストウォーターマークをタイル状に配置します。
-
0(デフォルト):ウォーターマークをタイル状に配置しません。
padx
いいえ
隣接するタイル状ウォーターマーク間の水平方向の間隔を指定します。このパラメーターは、
fillが 1 に設定されている場合にのみ適用されます。[0, 4096]
デフォルト:0
単位:ピクセル(px)
pady
いいえ
隣接するタイル状ウォーターマーク間の垂直方向の間隔を指定します。このパラメーターは、
fillが 1 に設定されている場合にのみ適用されます。[0, 4096]
デフォルト:0
単位:ピクセル(px)
水平オフセット、垂直オフセット、および中央線からの垂直オフセットは、単一ウォーターマークの位置およびタイル状ウォーターマークのレイアウトを調整します。
以下の図は、基準位置とその対応する値を示しています。

-
-
画像ウォーターマークパラメーター
パラメーター
必須
説明
値
image
はい
画像ウォーターマークとして使用するオブジェクトの完全なパスを指定します。URL 内で正しく伝送されるように、オブジェクトの完全なパスは URL セーフな Base64 エンコーディングを行う必要があります。詳細については、「URL セーフな Base64 エンコーディング」をご参照ください。たとえば、ウォーターマーク画像
panda.pngがimageディレクトリにある場合、完全なパスimage/panda.pngを URL セーフな Base64 エンコーディングして、aW1hZ2UvcGFuZGEucG5nを取得する必要があります。説明ウォーターマーク画像は、同じバケット内に保存されたオブジェクトである必要があります。
URL セーフな Base64 エンコード済み文字列。
-
ウォーターマーク画像の前処理パラメーター
サイズ変更、カスタム切り抜き、インデックス切り取り、角丸、および 回転 アクションのすべてのパラメーターを使用して、ウォーターマーク画像を前処理できます。さらに、ウォーターマーク画像の前処理では、スケーリングパラメーター P もサポートされています。
パラメーター
説明
値
P
ソース画像のディメンションに対するパーセンテージに基づいて、画像ウォーターマークをスケーリングします。たとえば、このパラメーターを 10 に設定し、ソース画像が 100 × 100 ピクセルの場合、ウォーターマーク画像は 10 × 10 ピクセルにスケーリングされます。ソース画像が 200 × 200 ピクセルに変更された場合、ウォーターマークは 20 × 20 ピクセルにスケーリングされます。
[1, 100]
-
テキストウォーターマークパラメーター
パラメーター
必須
説明
値
text
はい
ウォーターマークのテキスト内容を指定します。テキストは URL セーフな Base64 エンコーディングを行う必要があります。詳細については、「URL セーフな Base64 エンコーディング」をご参照ください。
Base64 エンコーディング前のテキスト文字列は 64 バイトを超えてはなりません。
type
いいえ
テキストウォーターマークのフォントを指定します。フォント名は URL セーフな Base64 エンコーディングを行う必要があります。
サポートされているフォントおよびそのエンコード済み値については、「フォントタイプおよびエンコーディング表」をご参照ください。
デフォルト:wqy-zenhei(d3F5LXplbmhlaQ にエンコード)
color
いいえ
テキストウォーターマークの色を指定します。
RGB 16 進数カラーコード。たとえば、黒は 000000、白は FFFFFF です。
デフォルト:000000(黒)
size
いいえ
テキストウォーターマークのフォントサイズを指定します。
(0, 1000]
デフォルト:40
単位:ピクセル(px)
shadow
いいえ
テキストウォーターマークの影の不透明度を指定します。
[0, 100]
デフォルト:0(影なし)。
rotate
いいえ
テキストの時計回りの回転角度を指定します。
[0, 360]
デフォルト:0(回転なし)。
以下の表は、type パラメーターで使用可能なフォントタイプとそのエンコード済み値を示しています。
パラメーター値
説明
エンコード済み値
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
ZmFuZ3poZW5nZmFuZ3Nvbmc
droidsansfallback
DroidSansFallback
ZHJvaWRzYW5zZmFsbGJhY2s
-
テキストおよび画像ウォーターマークパラメーター
パラメーター
必須
説明
値
order
いいえ
テキストおよび画像ウォーターマークの表示順序を指定します。
0 または 1
-
0(デフォルト):画像ウォーターマークが前面に表示されます。
-
1:テキストウォーターマークが前面に表示されます。
align
いいえ
テキストおよび画像ウォーターマークの配置を指定します。
0、1、または 2
-
0:ウォーターマークは上揃えになります。
-
1:ウォーターマークは中央揃えになります。
-
2(デフォルト):ウォーターマークは下揃えになります。
interval
いいえ
テキストおよび画像ウォーターマーク間の間隔を指定します。
[0, 1000]
デフォルト:0
単位:ピクセル(px)
-
ウォーターマークエンコーディング
ウォーターマークを追加するには、テキスト内容、フォント、画像名などのパラメーターを URL セーフな Base64 エンコーディングでエンコードする必要があります。以下の手順に従ってください。
-
内容を Base64 でエンコードします。
-
結果の文字列内の以下の文字を置換します。
-
プラス記号(+)をハイフン(-)に置換します。
-
スラッシュ(/)をアンダースコア(_)に置換します。
-
末尾のイコール記号(=)をすべて削除します。
-
base64url エンコーダーを使用して、テキスト内容、テキスト色、フォント、ウォーターマーク画像名などのパラメーターをエンコードできます。
このエンコード済み内容は、ウォーターマーク操作の特定のパラメーター専用です。Signature(署名文字列)にはこのエンコード済み内容を使用しないでください。
方法
公開画像
公開読み取り(public-read)または公開読み書き(public-read-write)の画像には、画像 URL に直接画像処理(IMG)パラメーターを追加することでウォーターマークを追加できます。
例 1:テキストウォーターマークの追加
この例では、中国(杭州)リージョンの oss-console-img-demo-cn-hangzhou-3az バケットにある example.jpg 画像を使用します。画像へのアクセス URL は https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example.jpg です。
以下の例は、example.jpg 画像にテキストウォーターマークを追加する方法を示しています。
-
「Hello World」テキストウォーターマークの追加
テキスト「Hello World」を URL セーフな Base64 エンコーディングします。詳細については、「ウォーターマークパラメーターのエンコード」をご参照ください。エンコード結果は
SGVsbG8gV29ybGQであり、画像処理の URL は https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/watermark,text_SGVsbG8gV29ybGQ です。
-
複数の画像処理パラメーターを使用したテキストウォーターマークの追加
example.jpg 画像に「Hello World」テキストウォーターマークを追加するには、ソース画像およびウォーターマークの両方に以下の処理パラメーターを設定できます。
-
example.jpg を 300 × 300 ピクセルにサイズ変更:
resize,w_300,h_300 -
フォントを WenQuanYi Zen Hei に設定:
type_d3F5LXplbmhlaQ(d3F5LXplbmhlaQ は WenQuanYi Zen Hei の Base64 エンコード済み値) -
ウォーターマーク内容を「Hello World」に設定:
text_SGVsbG8gV29ybGQ -
テキスト色を白、フォントサイズを 30 ピクセルに設定:
color_FFFFFF,size_30 -
テキストの影の透明度を 50% に設定:
shadow_50 -
ウォーターマーク位置を右下隅に設定し、水平オフセットを 10 ピクセル、垂直オフセットを 10 ピクセルに設定:
g_se,x_10,y_10
-
例 2:画像ウォーターマークの追加
以下の例は、example.jpg 画像に画像ウォーターマークを追加する方法を示しています。
-
panda.png 画像をウォーターマークとして追加
ウォーターマーク画像名 panda.png を URL セーフな Base64 エンコーディングします。エンコード結果は
cGFuZGEucG5nです。画像処理の URL は https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/watermark,image_cGFuZGEucG5n です。ウォーターマーク画像の完全なパスは、URL 内で正しく伝送されるように、URL セーフな Base64 エンコーディングを行う必要があります。たとえば、ウォーターマーク画像名が
panda.pngで、imageディレクトリにある場合、完全なパスimage/panda.pngを URL セーフな Base64 エンコーディングする必要があります。エンコード済み文字列はaW1hZ2UvcGFuZGEucG5nです。
-
複数の画像処理パラメーターを使用した画像ウォーターマークの追加
example.jpg 画像に panda.png 画像ウォーターマークを追加するには、ソース画像およびウォーターマークの両方に以下の処理パラメーターを設定できます。
-
example.jpg を 300 × 300 ピクセルにサイズ変更:
resize,w_300,h_300 -
example.jpg の品質を 90% に設定:
quality,q_90 -
panda.png 画像ウォーターマークを追加:
watermark,image_cGFuZGEucG5n(cGFuZGEucG5n は panda.png の Base64 エンコード済み値) -
画像ウォーターマークの透明度を 90% に設定:
t_90 -
画像ウォーターマーク位置を右下隅に設定し、水平オフセットを 10 ピクセル、垂直オフセットを 10 ピクセルに設定:
g_se,x_10,y_10
-
-
画像ウォーターマークの前処理および複数の画像処理パラメーターの設定
example.jpg 画像に panda.png 画像ウォーターマークを追加するには、ソース画像およびウォーターマークの両方に以下の処理パラメーターを設定できます。
-
example.jpg の幅を 300 ピクセルにサイズ変更:
resize,w_300 -
ウォーターマーク画像 panda.png を元のサイズの 30% にスケーリングして前処理:
image_cGFuZGEucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLFBfMzA(値cGFuZGEucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLFBfMzAはpanda.png?x-oss-process=image/resize,P_30の Base64 エンコード済み文字列) -
ウォーターマークの透明度を 90%、位置を右下隅、水平および垂直オフセットを 10 ピクセルに設定:
t_90,g_se,x_10,y_10
-
-
複数の画像ウォーターマークの追加
この例では、example.jpg に panda.png および Tulips.jpg の 2 つの画像ウォーターマークを追加します。
-
ウォーターマーク画像名 panda.png を URL セーフな Base64 エンコーディングします。エンコード結果は
cGFuZGEucG5nです。画像処理パラメーターはwatermark,image_cGFuZGEucG5nです。 -
ウォーターマーク画像名 Tulips.jpg を URL セーフな Base64 エンコーディングします。エンコード結果は
VHVsaXBzLmpwZwです。画像ウォーターマークをソース画像の中央左に配置し、水平および垂直オフセットを 10 ピクセルにする場合、画像処理パラメーターはwatermark,image_VHVsaXBzLmpwZw,g_west,x_10,y_10です。
画像処理の URL は次のとおりです。
-
例 3:テキストおよび画像ウォーターマークの追加
この例は、example.jpg 画像にテキストおよび画像ウォーターマークを追加する方法を示しています。
前の例で panda.png および「Hello World」のエンコード済み値を組み合わせることで、次の画像処理 URL を構築できます:https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/watermark,image_cGFuZGEucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLFBfMzA,text_SGVsbG8gV29ybGQ。
非公開画像
Alibaba Cloud SDK または REST API を使用して、非公開画像にウォーターマークを追加できます。
Alibaba Cloud SDK
以下は、一般的な Alibaba Cloud SDK を使用してウォーターマークを追加するサンプルコードです。他の言語のサンプルコードについては、「概要」をご参照ください。
Java
Alibaba Cloud SDK for Java 3.17.4 以降が必要です。
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 {
// エンドポイントを指定します。この例では中国(杭州)リージョンのエンドポイントを使用しています。実際のエンドポイントを指定してください。
String endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
// バケットが配置されているリージョンを指定します(例:cn-hangzhou)。
String region = "cn-hangzhou";
// 環境変数からアクセス認証情報を取得します。サンプルコードを実行する前に、OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET 環境変数が設定されていることを確認してください。
EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
// バケット名を指定します(例:examplebucket)。
String bucketName = "examplebucket";
// オブジェクトの完全なパスを指定します。完全なパスにはバケット名を含めないでください。
String objectName = "src.jpg";
// ローカルファイルの宛先パスを指定します(例:D:\\localpath\\example-new.jpg)。ファイルが作成または上書きされます。
String pathName = "D:\\dest.jpg";
// OSSClient インスタンスを作成します。
// OSSClient インスタンスが不要になったら、shutdown メソッドを呼び出してリソースを解放してください。
ClientBuilderConfiguration clientBuilderConfiguration = new ClientBuilderConfiguration();
clientBuilderConfiguration.setSignatureVersion(SignVersion.V4);
OSS ossClient = OSSClientBuilder.create()
.endpoint(endpoint)
.credentialsProvider(credentialsProvider)
.clientConfiguration(clientBuilderConfiguration)
.region(region)
.build();
try {
// 画像に「Hello World」テキストウォーターマークを追加します。
String image = "image/watermark,text_SGVsbG8gV29ybGQ";
GetObjectRequest request = new GetObjectRequest(bucketName, objectName);
request.setProcess(image);
// 処理済み画像をローカルマシンに example-new.jpg として保存します。
// 完全なパスを指定せずにファイル名のみ(例:example-new.jpg)を指定した場合、ファイルはプロジェクトのローカルディレクトリに保存されます。
ossClient.getObject(request, new File("D:\\dest.jpg"));
} catch (OSSException oe) {
System.out.println("OSSException が発生しました。これはリクエストが OSS に到達しましたが、何らかの理由でエラー応答により拒否されたことを意味します。");
System.out.println("エラーメッセージ:" + oe.getErrorMessage());
System.out.println("エラーコード:" + oe.getErrorCode());
System.out.println("リクエスト ID:" + oe.getRequestId());
System.out.println("ホスト ID:" + oe.getHostId());
} catch (ClientException ce) {
System.out.println("ClientException が発生しました。これはクライアントが OSS との通信中に深刻な内部問題(ネットワークにアクセスできないなど)に遭遇したことを意味します。");
System.out.println("エラーメッセージ:" + ce.getMessage());
} finally {
if (ossClient != null) {
ossClient.shutdown();
}
}
}
}
PHP
Alibaba Cloud SDK for PHP 2.7.0 以降が必要です。
<?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;
// 環境変数からアクセス認証情報を取得します。サンプルコードを実行する前に、OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET 環境変数が設定されていることを確認してください。
$provider = new EnvironmentVariableCredentialsProvider();
// バケットが配置されているリージョンのエンドポイントを指定します。たとえば、バケットが中国(杭州)リージョンにある場合、エンドポイントを https://oss-cn-hangzhou.aliyuncs.com に設定します。
$endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
// バケット名を指定します(例:examplebucket)。
$bucket= "examplebucket";
// オブジェクトの完全なパスを指定します(例:exampledir/exampleobject.jpg)。完全なパスにはバケット名を含めないでください。
$object = "src.jpg";
// ローカルファイルの宛先パスを指定します(例:D:\\localpath\\example-new.jpg)。ファイルが作成または上書きされます。
// 完全なパスを指定せずにファイル名のみ(例:example-new.jpg)を指定した場合、ファイルはプロジェクトのローカルディレクトリに保存されます。
$download_file = "D:\\dest.jpg";
$config = array(
"provider" => $provider,
"endpoint" => $endpoint,
"signatureVersion" => OssClient::OSS_SIGNATURE_VERSION_V4,
// 汎用リージョン ID を指定します。
"region" => "cn-hangzhou"
);
$ossClient = new OssClient($config);
// 画像に「Hello World」テキストウォーターマークを追加します。
$image = "image/watermark,text_SGVsbG8gV29ybGQ";
$options = array(
OssClient::OSS_FILE_DOWNLOAD => $download_file,
OssClient::OSS_PROCESS => $image);
// 処理済み画像をローカルマシンに保存します。
$ossClient->getObject($bucket, $object, $options);
Python
Alibaba Cloud SDK for Python 2.18.4 以降が必要です。
# -*- coding: utf-8 -*-
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider
# 環境変数からアクセス認証情報を取得します。サンプルコードを実行する前に、OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET 環境変数が設定されていることを確認してください。
auth = oss2.ProviderAuthV4(EnvironmentVariableCredentialsProvider())
# バケットが配置されているリージョンのエンドポイントを指定します。たとえば、バケットが中国(杭州)リージョンにある場合、エンドポイントを https://oss-cn-hangzhou.aliyuncs.com に設定します。
endpoint = 'https://oss-cn-hangzhou.aliyuncs.com'
# 汎用リージョン ID を指定します。
region = 'cn-hangzhou'
bucket = oss2.Bucket(auth, endpoint, 'examplebucket', region=region)
# ソース画像の名前を指定します。画像がバケットのルートディレクトリにない場合は、完全なパスを指定する必要があります(例:exampledir/example.jpg)。
key = 'src.jpg'
# 処理済み画像の名前を指定します。
new_pic = 'D:\\dest.jpg'
# 画像に「Hello World」テキストウォーターマークを追加します。
image = 'image/watermark,text_SGVsbG8gV29ybGQ'
bucket.get_object_to_file(key, new_pic, process=image)
Go
Alibaba Cloud SDK for Go 3.0.2 以降が必要です。
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() {
// 環境変数からアクセス認証情報を取得します。サンプルコードを実行する前に、OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET 環境変数が設定されていることを確認してください。
provider, err := oss.NewEnvironmentVariableCredentialsProvider()
if err != nil {
fmt.Println("Error:", err)
os.Exit(-1)
}
// OSSClient インスタンスを作成します。
// バケットのエンドポイントを指定します。この例では中国(杭州)リージョンのエンドポイントを使用しています。実際のエンドポイントを指定してください。
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)
}
// ソース画像が保存されているバケットの名前を指定します(例:examplebucket)。
bucketName := "examplebucket"
bucket, err := client.Bucket(bucketName)
if err != nil {
HandleError(err)
}
// ソース画像の名前を指定します。画像がバケットのルートディレクトリにない場合は、完全なパスを指定する必要があります(例:exampledir/example.jpg)。
sourceImageName := "src.jpg"
// 処理済み画像の名前を指定します。
targetImageName := "D://dest.jpg"
// 画像に「Hello World」テキストウォーターマークを追加します。
image := "image/watermark,text_SGVsbG8gV29ybGQ"
err = bucket.GetObjectToFile(sourceImageName, targetImageName, oss.Process(image))
if err != nil {
HandleError(err)
}
}
REST API
高度にカスタマイズされたアプリケーションでは、REST API を直接呼び出すことができます。これには、コード内で署名を手動で計算する必要があります。詳細については、「署名 V4(推奨)」をご参照ください。
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
よくある質問
オンラインまたはローカル画像をウォーターマークとして使用する場合
IMG を使用して画像ウォーターマークを追加する場合、ウォーターマーク画像はソース画像と同じバケット内に存在する必要があります。オンラインまたはローカルの画像をウォーターマークとして使用するには、事前にソース画像のバケットにアップロードする必要があります。
「フォントコンテンツが大きすぎます」エラー
IMG を使用してテキストウォーターマークを追加する場合、テキストは 64 文字までに制限されています。各中国語文字は 3 文字としてカウントされます。「フォントコンテンツが大きすぎます」エラーが発生した場合は、テキストを短縮して再度お試しください。詳細については、「例 1:テキストウォーターマークの追加」をご参照ください。
非公開オブジェクトでの画像ウォーターマーク失敗
非公開オブジェクトへのアクセスには署名付き URL が必要です。この署名付き URL に直接 IMG パラメーターを追加することはできません。非公開オブジェクトを処理するには、署名を生成する際に IMG パラメーターを含める必要があります。詳細については、「IMG パラメーターを含む署名付きオブジェクト URL の生成」をご参照ください。
画像ウォーターマークの背景色
いいえ。
署名付き URL による画像アクセス
非公開オブジェクトへのアクセスには署名付き URL が必要です。この署名付き URL に直接 IMG パラメーターを追加することはできません。非公開オブジェクトを処理するには、署名を生成する際に IMG パラメーターを含める必要があります。詳細については、「画像処理(Java SDK V1)」をご参照ください。
ウォーターマークの垂直配置
はい。ウォーターマークを垂直に配置するには、複数の watermark アクションを使用できます。

ウォーターマークの動的サイズ変更
IMG は動的なウォーターマークサイズ変更をサポートしていません。代わりに、クライアントまたはサーバー上でカスタムロジックを実装し、ソース画像のディメンションを検出してウォーターマークサイズを計算した後、OSS API を呼び出す必要があります。
ウォーターマークの最大数
最大 3 つのウォーターマークを追加できます。それ以上追加するには、チケットを送信してください。



