画像にテキスト透かしを入れてPNGで出力する方法
画像データを文字列で指定し、透かし文字、透明度、位置、文字サイズを設定すると、文字の透かしを加えたPNG画像データを取得できます。透かし文字を省略した場合は「Watermark」、位置を省略した場合は中央が使われます。
画像に文字の透かしを入れるときの準備
画像に文字の透かしを加えたいときは、元画像を文字列として用意し、透かしの内容、透明度、位置、文字サイズを指定します。処理に成功すると、透かしが描画されたPNG画像データが返ります。商品画像の識別表示、共有前の画像への注記、作成者名の表示などに使えます。
このツールで扱う透かしは、別の透かし画像を重ねるものではなく、指定した文字を元画像に描画する方式です。透かし文字を省略した場合は「Watermark」が使われ、位置を省略した場合は中央になります。
操作手順:文字、透明度、位置を指定する
- 元画像をbase64からデコードできる文字列として用意します。入力が空のままだと処理されないため、画像データを含む文字列を指定してください。
- 透かしに表示する文字を入力します。文字を指定しない場合は、既定の「Watermark」が使われます。
- 透明度を0.0から1.0の範囲で指定します。既定値は0.5です。値がこの範囲を外れる場合は、範囲内に制限されてから適用されます。
- 位置を選びます。指定できるのは左上、右上、左下、右下、中央です。位置を省略した場合、または対応していない値を使った場合は中央に配置されます。
- 文字サイズを指定します。省略時の既定値は36です。入力内容を確認して処理を実行します。
- 返された画像データを確認します。成功時の形式はPNGです。元画像の文字列が空の場合や、画像の読み込み、描画、合成、PNGへのエンコード中に問題が起きた場合は、結果を受け取れないことがあります。
結果の見方と確認ポイント
成功した結果は、指定した文字が元画像に描画されたPNG画像データです。たとえば右下を選べば右下側への配置が期待されますが、指定できる位置以外の値は中央として扱われます。透明度は0.0に近いほど見えにくく、1.0に近いほど不透明な設定になります。
結果が返らない場合は、まず画像入力が空でないか、base64から画像として読み込める内容かを確認します。それでも処理できない場合は、画像処理に必要な依存機能が利用できない、または読み込み、描画、合成、エンコードの途中で例外が発生した可能性があります。
使用例
オンライン掲載前の商品写真に、識別用の「Sample」という文字を右下へ薄く表示します。
商品写真をbase64からデコードできる文字列として入力し、文字を「Sample」、透明度を0.35、位置を右下、文字サイズを28に指定して処理します。
透かし文字「Sample」が右下に描画されたPNG画像データが返ります。
制限事項
- 画像の読み込み、描画、合成、エンコードに必要な機能が利用できない場合や、処理中に例外が発生した場合は、結果を取得できないことがあります。
よくある間違い
- 画像入力を空のまま送ると処理されません。base64からデコードできる画像データを含む文字列を指定してから、もう一度実行してください。
よくある質問
画像入力は空でも処理できますか?
空の画像入力では処理されません。base64からデコードできる画像データを含む文字列を指定してください。
透かし文字を省略すると何が表示されますか?
透かし文字を指定しない場合は「Watermark」が使われます。任意の文字を表示したい場合は、文字列を指定してください。
処理結果はどの形式ですか?
成功時の結果はPNG画像データです。画像の読み込みや描画などの途中で問題が起きた場合は、処理に失敗することがあります。