Power Automate Desktop 画像をトリミングする方法

2023年8月22日

English version.

画像ファイルを任意の位置から任意のサイズで切り抜く方法を紹介します。

手順

次のRobin言語をPower Automate Desktopにコピー&ペーストして利用可能です。

SET SrcFilePath TO $'''C:\\Test\\1.jpg'''
SET SaveFilePath TO $'''C:\\Test\\1_r.png'''
SET X TO 25
SET Y TO 50
SET Width TO 100
SET Height TO 300
Scripting.RunPowershellScript Script: $'''Add-Type -AssemblyName System.Drawing
$bmp = New-Object System.Drawing.Bitmap(\"%SrcFilePath%\")
$bmp_r = New-Object System.Drawing.Rectangle(%X%, %Y%, %Width%, %Height%);
$result = $bmp.Clone($bmp_r, $bmp.PixelFormat)
$result.Save(\"%SaveFilePath%\", [System.Drawing.Imaging.ImageFormat]::Png)
$bmp.Dispose()
$result.Dispose()''' ScriptOutput=> PowershellOutput

変数に必要な情報を設定します。

変数名設定値
SrcFilePathトリミング元のファイルパス
SaveFilePathトリミング後に保存するファイルパス(PNG)
Xトリミング開始位置(横)
Yトリミング開始位置(縦)
Widthトリミング後の幅
Heightトリミング後の高さ

このフローを実行すると画像のトリミングが行われます。

PowerShellのコード

PowerShell スクリプトの実行」で実行しているコードは次の通りです。

Add-Type -AssemblyName System.Drawing
$bmp = New-Object System.Drawing.Bitmap("%SrcFilePath%")
$bmp_r = New-Object System.Drawing.Rectangle(%X%, %Y%, %Width%, %Height%);
$result = $bmp.Clone($bmp_r, $bmp.PixelFormat)
$result.Save("%SaveFilePath%", [System.Drawing.Imaging.ImageFormat]::Png)
$bmp.Dispose()
$result.Dispose()

5行目のPngを変更すると別の画像形式での保存も可能です。

Power Automate Desktopを「最短」で習得したい方へ

「Webで情報を探す時間がもったいない」と感じていませんか

当サイトの人気記事を体系的に整理し、一冊の電子書籍にまとめました 。

ページをめくるだけで、基礎から応用まで階段を登るようにスキルアップできます。

オフラインでも読めるため、通勤時間や移動中の学習にも最適です。

【本書で学べること】

  • 基本操作とフローの作成手順
  • Excel、Outlook、Webブラウザの自動化 * 実務で必須のエラー処理と頻出テクニック

Kindle Unlimited会員なら追加料金なし(0円)でお読みいただけます。

関連記事

活用事例集