ルドルフもわたるふもいろいろあってな

Microsoft 365、Power Platform、PowerShellについて調べたことや検証したことなどを投稿します。技術の話は面白い。

【質問回答】【Power Automate】2つの画像を合成する

あんこ(@ankoromochi7793)さんから検証ネタのリクエストをいただきました。

やってみましょう。

( ´・ω・`) フフフ


概要

Power Automate で2つの画像ファイルを重ねて1つの画像ファイルを作成します。

今回は画像ファイルの合成を行うために
プレミアムコネクタである「Cloudmersive Image Processing」を使います。

「Cloudmersive Image ○○○」という名前のコネクタのひとつです。

「Cloudmersive Image Processing」コネクタにある「2つの画像を合成する」アクションを使います。

[事前準備]API Key を取得する(個人利用なら無料)

アクションを使用するためのKey を取得します。

Cloudmsersive のサイトにアクセスします。
Login - Cloudmersive APIs

Sign Up」をクリックします。

使用するアカウントを指定します。(わたしはMicrosoftアカウントを使いました)

「View and manage keys 」をクリックします。

「Create key」をクリックします。

「verify your email address.」をクリックします。

「Send Email Verification」をクリックします。
あとは support@cloudmersive.com から届いたメールに従ったAPI Keyを取得します。

「Free Tier Keys」欄に表示されたKeyをメモに控えておきます。

フロー図

アクションの設定を閉じた状態のフロー図


開いた状態のフロー図


フローの使用イメージ

合成したい2つの画像を用意します。

「01_Input」フォルダに合成したい2つの画像をアップロードします。

手動実行トリガーでフローを実行します。

「02_Output」フォルダに合成後に画像が出力されました。

ちゃんと「背景の画像」と「ひとの画像」が合成されたのがわかりますね。

ステップごとの解説

「手動でフローをトリガーします」トリガー

名前の通り、フローを手動で実行するトリガーです。今回はこのトリガーでの入力情報はありません。

「ファイル コンテンツの取得(人物の画像)」トリガー

これは「SharePoint」>「ファイル コンテンツの取得」アクションです。

対象画像があるサイトとファイルパスを指定します。

「コンテンツタイプの推測」は既定値である"はい"のままにします。

「ファイル コンテンツの取得 (背景の画像)」トリガー

これは「SharePoint」>「ファイル コンテンツの取得」アクションです。

こちらにはもうひとつの画像のサイトとファイルパスを指定します。

「コンテンツタイプの推測」は既定値である"はい"のままにします。

「2 つの画像を合成する」アクション

これは「Cloudmersive Image Processing」>「2 つの画像を合成する」です。

「接続名」欄には任意の文字を入力します。入力した文字が接続一覧に表示される際の名前になります。
API キー 」欄には先ほど取得した「Free Tier Keys」を入力します。

上記の入力が完了するとアクションの表示が下図の内容に切り替わります。この入力欄で合成する画像を指定します。

項目名がとても読みづらいですね! (`・ω・´)

読み解いていきましょう。

  • 「階層化する画像を合成する位置。指定できる値: 」は画像を合成する際の位置指定です。
    • ここでは値は「center」としておきます。
  • 「 操作を実行する対象の画像ファイル。P などの一般的なファイル形式」 は画像を重ねたときに手前に配置する画像を指定します。
    • ここでは値は背景画像である「"@body('ファイル_コンテンツの取得(人物の画像)')"」を指定します。
  • 「操作を実行する対象の画像ファイル。P などの一般的なファイル形式 (file name)」 はファイル名を指定するようです。
    • このアクションは今回の検証では使用しません。ですが必須入力欄になっているため「人物」という文字をいれておきます。
  • 「基本の画像の上に階層化する画像。 基本の画像の上に階層化する画像。」は画像を重ねたときに奥に配置する画像を指定します。
    • ここでは値は背景画像である「"@body('ファイル_コンテンツの取得_(背景の画像)')"」を指定します。
  • 「基本の画像の上に階層化する画像。 基本の画像の上に階層化する画像。 (file name)」はファイル名を指定するようです。
    • このアクションは今回の検証では使用しません。ですが必須入力欄になっているため「背景」という文字をいれておきます。

「ファイルの作成(合成した画像)」アクション

これは「SharePoint」>「ファイルの作成」アクションです。

出力するファイルのパスを指定します。

「ファイル コンテンツ」欄には「2 つの画像を合成する」アクションの出力(body)を指定します。

さいごに

検証ネタを提供いただいたリプライツリーであんこ(@ankoromochi7793)さんに検証結果をご連絡しました。検証ネタの提供ありがたいです。m(__)m


今回は以上です。