Object Storage Service (OSS) に保存されている画像やオブジェクトに透かしを追加して、リソースが許可なく複製されたり使用されたりするのを防ぐことができます。
シナリオ
著作権保護: あなたの作品が許可なく複製または使用されるのを防ぐために、画像に透かしを追加して著作権を識別することができます。
ブランドプロモーション: 企業または個人は、ブランドロゴまたは名前を含む透かしを画像、ビデオ、またはドキュメントに追加して、ブランドまたはロゴを宣伝できます。
改ざん防止: 公式文書、証明書、またはレポートに透かしを追加すると、改ざんの難しさが増し、文書偽造のリスクが軽減されます。
画像盗作防止: インターネットユーザーは画像を簡単にダウンロードして再公開できます。 画像に透かしを追加して、著作権で保護されていることを示すことができます。
法的コンプライアンス要件: 場合によっては、法的条件または契約条件の特定のコンテンツを公開するときに、法的コンプライアンス要件を満たすために透かしを追加する必要があります。
使用上の注意
オブジェクトURL、OSS SDK、またはAPI操作を使用して、イメージの処理に使用されるIMGパラメーターを設定できます。 この例では、オブジェクトURLが使用されます。 オブジェクトURLを使用して、パブリック読み取りイメージに対してのみIMGパラメーターを設定できます。 プライベートイメージのIMGパラメーターを設定する場合は、OSS SDKまたはAPI操作を使用します。 詳細については、「IMG実装モード」をご参照ください。
ウォーターマークとして使用できるのは、ウォーターマークする画像を保存するバケット内の画像のみです。 オンラインまたはローカルの画像を透かしとして使用するには、まず画像をバケットにアップロードする必要があります。
透かしとして使用できるのは、JPG、PNG、BMP、WebP、TIFFの画像のみです。
1つの画像に最大6つの画像透かしを追加できますが、画像透かしが完全に重なることはできません。
繁体字漢字はテキスト透かしとして使用できません。
パラメーター
アクション: watermark
次の表では、画像に透かしを追加するときに設定できるパラメーターについて説明します。
基本パラメーター
パラメーター
必須
説明
有効値
t
任意
透かしの不透明度。
[0,100]
デフォルト値:100 値100は、透かしが不透明であることを指定します。
g
任意
画像上の透かしの位置。
nw: 左上。
北: アッパーミドル。
ne: 右上。
西: 左中央。
センター: センター。
東: 右真ん中。
sw: 左下。
南: 下の真ん中。
se: 右下。 デフォルト値です。
各値で指定される正確な位置については、次の図を参照してください。
x
任意
ウォーターマークと画像エッジの間の水平距離を指定する水平マージン。 このパラメーターは、ウォーターマークが画像の左上、中左、左下、右上、中右、または右下にある場合にのみ有効になります。
[0,4096]
デフォルト値は 10 です。
単位: ピクセル
y
任意
ウォーターマークと画像エッジの間の垂直距離を指定する垂直マージン。 このパラメーターは、ウォーターマークが画像の左上、中央上部、右上、左下、中央下部、または右下にある場合にのみ有効になります。
[0,4096]
デフォルト値は 10 です。
単位: ピクセル
voffset
任意
中央線からの垂直オフセット。 ウォーターマークが画像の中央左、中央、または中央右にある場合、中央の線に沿ってウォーターマークの垂直方向のオフセットを指定できます。
[-1000,1000]
デフォルト値:0
単位: ピクセル
fill
任意
画像全体に透かしまたはテキスト透かしをタイル表示するかどうかを指定します。
説明タイル透かしを追加する場合は、クォータセンターで申請書を提出してください。を選択します。
1: 画像全体に画像透かしまたはテキスト透かしを並べます。
0: 画像全体に画像透かしまたはテキスト透かしをタイル化しません。 デフォルト値です。
padx
任意
画像透かしまたはテキスト透かしが画像にわたってタイル化されるときの透かし間の水平間隔。 このパラメーターは、fillを1に設定した場合にのみ有効です。
[0,4096]
デフォルト値:0
単位: ピクセル
パディ
任意
画像透かしまたはテキスト透かしが画像にわたってタイル化されるときの透かし間の垂直間隔。 このパラメーターは、fillを1に設定した場合にのみ有効です。
[0,4096]
デフォルト値:0
単位: ピクセル
x、y、voffsetを使用して、画像上の透かしの位置を調整できます。 これらのパラメーターを使用して、画像に複数の透かしが含まれている場合に透かしレイアウトを調整することもできます。
次の図は、座標に基づく透かしの位置を示しています。
イメージ透かしパラメーター
パラメーター
必須
説明
有効値
イメージ
可
透かしとして使用するイメージオブジェクトの完全な名前。 オブジェクト名をBase64-encodedする必要があります。 詳細については、「透かし関連パラメーターのエンコード」をご参照ください。
たとえば、バケットのimageディレクトリにあるpanda.pngという名前の画像を透かしとして使用する場合は、image/panda.pngをエンコードする必要があります。 エンコード結果は
aW1hZ2UvcGFuZGEucG5n
です。説明現在のバケット内のオブジェクトのみを透かしとして使用できます。
Base64-encoded文字列。
透かし画像前処理のパラメータ
画像のサイズ変更、カスタムトリミング、インデックス付きスライス、角丸長方形、画像の回転操作でパラメーターを使用して、透かし画像を前処理できます。 透かしイメージを前処理するときに、Pパラメーターを含めて透かしイメージのサイズを変更できます。
パラメーター
説明
有効値
P
ソース画像に対する透かし画像のサイズの割合。 たとえば、100 × 100ピクセルのソースイメージでこのパラメーターを10に設定すると、透かしイメージのサイズは10 × 10ピクセルになります。 ソース画像のサイズが200 × 200ピクセルである場合、透かし画像のサイズは20 × 20ピクセルである。
[1,100]
テキスト透かしパラメータ
パラメーター
必須
説明
有効値
テキスト
可
テキスト透かしの内容。 テキストコンテンツをBase64-encodedする必要があります。 詳細については、「透かし関連パラメーターのエンコード」をご参照ください。
中国語の文字列は、文字列をBase64-encodedする前に64文字を超えることはできません。
タイプ
任意
テキストの透かしのフォント。 フォント名をBase64-encodedする必要があります。
サポートされているフォントとフォントのエンコード結果の詳細については、「フォントの種類とエンコード結果」をご参照ください。
デフォルト値: wqy-zenhei (エンコード結果: d3F5LXplbmhlaQ) 。
カラー
任意
テキストの透かしの色。 このパラメータの有効な値はRGBカラー値です。
例えば、000000は黒を指定し、FFFFFFは白を指定する。
デフォルト値: 000000
サイズ
任意
テキストの透かしのサイズ。
(0,1000)
デフォルト値: 40。
単位: ピクセル
影
任意
テキスト透かしの影の不透明度。
[0,100]
デフォルト値:0 0の値は、テキストに影が追加されないことを指定します。
回転させる
任意
テキストが時計回りに回転する程度。
[0,360]
デフォルト値:0 値0は、テキストが回転されないことを指定します。
次の表に、typeパラメーターの有効な値と、これらの値のエンコード結果を示します。
値
説明
エンコード結果
wqy-zenhei
WenQuanYi Zen Hei
d3F5LXplbmhlaQ
wqy-microhei
WenQuanYiマイクロヘイ
d3F5LW1pY3JvaGVp
fangzhengshusong
Fangzheng Shusong
ZmFuZ3poZW5nc2h1c29uZw
fangzhengkaiti
Fangzheng Kaiti
ZmFuZ3poZW5na2FpdGk
fangzhengheiti
Fangzheng Heiti
ZmFuZ3poZW5naGVpdGk
fangzhengfangsong
Fangzheng Fangsong
ZmFuZ3poZW5nZmFuZ3Nvbmc
droidsansfallback
フォールバックフォント Droid Sans
ZHJvaWRzYW5zZmFsbGJhY2s
テキストとイメージの透かしパラメータ
パラメーター
必須
説明
有効値
注文
任意
テキスト透かしと画像透かしの順序。
0と1。 デフォルト値:0
0: 画像の透かしはテキストの透かしの上にあります。
1: テキストの透かしは画像の透かしの上にあります。
align
任意
テキスト透かしと画像透かしの配置。
0、1、および2。 デフォルト値:2
0: テキスト透かしと画像透かしにトップアライメントを適用します。
1: テキスト透かしと画像透かしに中心配置が適用されます。
2: テキスト透かしと画像透かしにボトム位置合わせが適用されます。
interval
任意
テキスト透かしと画像透かしの間隔。
[0,1000]
デフォルト値:0
単位: ピクセル
透かし関連パラメータのエンコード
透かしを追加するときは、Base64を使用して、テキスト透かしのテキストやフォント、透かし画像の名前などの透かし関連のパラメーターをURLセーフ文字列にエンコードする必要があります。 エンコードを完了するには、次の手順を実行する必要があります。
Base64を使用して透かし関連のパラメータをエンコードします。
エンコード結果の次の文字を置き換えます。
エンコード結果のプラス記号 (+) をハイフン (-) に置き換えます。
エンコード結果のスラッシュ (/) をアンダースコア (_) に置き換えます。
エンコード結果の最後に等号 (=) を省略します。
透かし関連のパラメーターをエンコードするには、base64url encoderを使用することを推奨します。
エンコード結果は、透かし操作の特定のパラメーターでのみ使用できます。 エンコード結果を署名文字列で使用しないでください。
例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-encodeします。 詳細については、「透かし関連パラメーターのエンコード」をご参照ください。 エンコード結果は
SGVsbG8gV29ybGQ
で、画像の処理に使用されるURLはhttps://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/watermark,text_SGVsbG8gV29ybGQです。画像にテキスト透かしを追加するときに複数のIMGパラメータを設定する
この例では、IMGパラメータは、ソースイメージと、ソースイメージに追加するテキスト透かし「Hello World」に対して次の操作を実行するように設定されています。
Resize, w_300,h_300
を使用して、ソースイメージexample.jpgのサイズを300 × 300ピクセルに変更します。type_d3F5LXplbmhlaQ
を使用して、透かしテキストのフォントをWenQuanYi Zen Heiに設定します。 d3F5LXplbmhlaQは、WenQuanYi Zen HeiがBase64-encodedされた後に得られる符号化結果である。text_SGVsbG8gV29ybGQ
を使用して、文字列 "Hello World" をテキスト透かしとしてソース画像に追加します。color_FFFFFF,size_30
を使用して、透かしテキストの色を白、テキストのサイズを30ピクセルに設定します。shadow_50
を使用して、透かしテキストの影の不透明度を50% に設定します。g_se、x_10、y_10
を使用して、テキストの透かしの位置を右下に、水平マージンを10ピクセルに、中央線からの垂直オフセットを10ピクセルに設定します。
次のURLは、前述のパラメーターに基づいて画像を処理するために使用され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。
例2: ソースイメージにイメージの透かしを追加する
次の例は、example.jpgイメージにイメージの透かしを追加する方法を示しています。
panda.pngという名前の画像を画像透かしとしてソース画像に追加する
panda.pngイメージの名前をURLセーフ文字列にBase64-encodeします。 エンコード結果は
cGFuZGEucG5n
で、画像の処理に使用されるURLがhttps://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/watermark,image_cGFuZGEucG5nです。ソースイメージにイメージウォーターマークを追加するときに複数のIMGパラメータを設定する
この例では、IMGパラメータは、ソースイメージと、イメージ透かしとしてソースイメージに追加するpanda.pngという名前のイメージに対して次の操作を実行するように設定されています。
Resize, w_300,h_300
を使用して、ソースイメージexample.jpgのサイズを300 × 300ピクセルに変更します。quality,q_90
を使用して、ソースイメージexample.jpgの品質を90% に設定します。watermark,image_cGFuZGEucG5n
を使用して、panda.pngイメージをイメージ透かしとしてソースイメージに追加します。 cGFuZGEucG5nは、画像名panda.pngをBase64-encodedした後の符号化結果である。t_90
を使用して、透かし画像の不透明度を90% に設定します。g_se、x_10、y_10
を使用して、画像の透かしの位置を右下に、水平マージンを10ピクセルに、中央線からの垂直オフセットを10ピクセルに設定します。
画像透かしを前処理してからIMGパラメータを設定する
この例では、IMGパラメータは、ソースイメージと、イメージ透かしとしてソースイメージに追加するpanda.pngという名前のイメージに対して次の操作を実行するように設定されています。
Resize, w_300
を使用して、ソースイメージexample.jpgの幅を300ピクセルにサイズ変更します。image_cGFuZGEucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLFBfMzA
(cGFuZGEucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLFBfMzA
はpanda.png?x-oss-process=image /Resize, P_30
) を使用して、画像透かしpanda.pngをソース画像のサイズの30% にサイズ変更します。t_90、g_se、x_10、y_10
を使用して、画像透かしの不透明度を90% に、画像透かしの位置を右下に、水平マージンを10ピクセルに、中央線からの垂直オフセットを10ピクセルに設定します。
次のURLは、前述のパラメーターに基づいて画像を処理するために使用され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。
ソース画像に複数の画像透かしを追加する
この例では、panda.pngとTulips.jpgが画像透かしとしてexample.jpgに追加されます。
panda.pngイメージの名前をURLセーフ文字列にBase64-encodeします。 エンコード結果は
cGFuZGEucG5n
です。watermark,image_cGFuZGEucG5n
を使用して、panda.png画像を画像透かしとして追加します。Tulips.jpgイメージの名前をURLセーフ文字列にBase64-encodeします。 エンコード結果は
VHVsaXBzLmpwZw
である。watermark,image_VHVsaXBzLmpwZw,g_west,x_10,y_10
を使用して、画像の透かしの位置を中央左に、水平マージンを10ピクセルに、中央ラインからの垂直オフセットを10ピクセルに設定します。
次のURLは、上記のパラメーターに基づいて画像を処理するために使用されます。
例3: ソースイメージにテキストとイメージの透かしを追加する
次の例は、example.jpgイメージにテキストとイメージの透かしを追加する方法を示しています。
次の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としてソース画像に追加する文字列のエンコード結果に基づいて画像を処理するために使用されます。
よくある質問
オンラインまたはローカルの画像を透かし画像として使用する方法?
IMGを使用して画像の透かしをソース画像に追加する場合は、透かし画像とソース画像が同じバケットに保存されていることを確認してください。 オンライン画像またはローカル画像を画像透かしとしてソース画像に追加するには、まず、ソース画像が保存されているバケットに画像をアップロードする必要があります。
テキスト透かしを追加したときに「フォントコンテンツが大きすぎます」というメッセージが表示された場合はどうすればよいですか?
OSS IMGパラメーターを使用して画像にテキスト透かしを追加する場合、テキスト透かしの最大長は64文字を超えることはできません (1つの漢字は3文字として扱われます) 。 「フォントコンテンツが大きすぎます」というメッセージが表示された場合は、テキストの透かしを短くすることを推奨します。 詳細については、「例1: 画像にテキスト透かしを追加する」をご参照ください。
プライベートオブジェクトに画像透かしを追加できなかった場合はどうすればよいですか?
プライベートオブジェクトのURLに署名する必要があります。 署名付きURLの末尾にIMGパラメーターを直接追加することはできません。 プライベートオブジェクトを処理する場合は、署名にIMGパラメーターを追加します。 詳細については、「IMGパラメーターを含む署名付きオブジェクトURLの生成」をご参照ください。
画像透かしを追加するときに、画像透かしの背景色を設定できますか?
いいえ、画像透かしの背景色を設定することはできません。
署名付きURLを使用して画像にアクセスするにはどうすればよいですか?
プライベートオブジェクトのURLに署名する必要があります。 署名付きURLの末尾にIMGパラメーターを直接追加することはできません。 プライベートオブジェクトを処理する場合は、署名にIMGパラメーターを追加します。 詳細については、「IMG」をご参照ください。
OSSは透かしの垂直配置をサポートしていますか?
はい、OSSは透かしの垂直配置をサポートしています。 透かしを垂直に配置する場合は、透かし操作を複数の透かし操作に分割し、複数の透かし演算子を使用して垂直透かし配置を実装できます。