署名の追加
画像に署名を追加することは、時には画像にデジタル署名を施して偽造を防ぐ必要があります。別の考え方として、画像をギャラリーで展示されているように扱うことも考えられます。理由は何であれ、Aspose.PSD APIは、以下で説明するように、画像に署名を追加する機能を提供します。この例では、Graphicsクラスを使用して別の画像に署名を描画して元の画像の表面に署名を追加します。操作をデモンストレーションするために、ディスクからPSD画像を読み込み、GraphicsクラスのDrawImageメソッドを使用して、元の画像の表面に別の画像を署名として描画します。PngOptionsクラスを使用して結果の画像をPNG形式で保存します。以下は、画像に署名を追加する方法を示すコード例です。この例のソースコードは、追いやすいように複数の部分に分割されています。ステップバイステップで、例は以下の方法を示します:
- プライマリーおよびセカンダリー(署名)画像を読み込む。
- Graphicsオブジェクトを作成して初期化する。
- GraphicsクラスのDrawImageメソッドを使用して画像を描画する。
- PNG形式で結果を保存する。
プログラムサンプル
画像の読み込み
最初に、Imageクラスのインスタンスを作成して、ディスクからサンプル画像を読み込みます。
グラフィックオブジェクトの作成と初期化
画像を読み込んだ後は、プライマリー画像のオブジェクトを使用して、Graphicsクラスのオブジェクトを作成して初期化します。
セカンダリー画像をプライマリー画像に描画
次に、GraphicsクラスのDrawImageメソッドを使用して、セカンダリー画像をプライマリー画像に追加します。DrawImageメソッドには、最初のパラメーターとしてImageクラスのオブジェクトを受け入れるオーバーロードバージョンが複数あり、残りのすべてのパラメーターは画像を描画する場所に対応します。デモンストレーションのために、次のコードでは、DrawImageのオーバーロードバージョンを使用しています。これは、二番目のパラメーターとしてPointクラスのオブジェクトを受け入れ、署名をプライマリー画像の右下隅に描画しようとします。
画像の保存
最後に、PngOptionsクラスを使用して、画像をPNGファイルとしてローカルディスクに保存します。
ソース全文
String dataDir = Utils.getDataDir(AddSignatureToImage.class) + "DrawingImages/"; | |
// Create an instance of Image and load the primary image | |
try (Image canvas = Image.load(dataDir + "layers.psd"); | |
// Create another instance of Image and load the secondary image containing the signature graphics | |
Image signature = Image.load(dataDir + "sample.psd")) { | |
// Create an instance of Graphics class and initialize it using the object of the primary image | |
Graphics graphics = new Graphics(canvas); | |
// Call the DrawImage method while passing the instance of secondary image and appropriate location. The following snippet tries to draw the secondary image at the right bottom of the primary image | |
graphics.drawImage(signature, new Point(canvas.getHeight() - signature.getHeight(), canvas.getWidth() - signature.getWidth())); | |
canvas.save(dataDir + "AddSignatureToImage_out.png", new PngOptions()); | |
} |