1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Windowsでクリップボード中の画像に枠線をつける【ImageMagick】

Last updated at Posted at 2022-11-16

Windows環境でスクリーンショットを取得し画像を貼り付ける場合。

貼り付ける対象の色が、貼り付け画像と同様で画像縁を枠線で強調した方が見やすい場合もあるかと思います。

下記は画像の縁に赤く枠線をつけたケース。

image.png

本記事ではImageMagickを使い、クリップボードにスクショされた画像に対して枠線を追加してみます。

そもそも切り取り & スケッチ でできるけど

2022年11月現在、Windows 10Windos 11 で提供されている公式アプリ 切り取り & スケッチ

image.png

こちらのアプリの設定で、切り取り領域のアウトライン 設定を有効にすると。

image.png

本記事でやっている事はこの機能を使うと実現できたりします。

image.png

今回は普段使っているFlameshotで該当の機能がなかっため。
Flameshotでクリップボードに取得した画像に枠線をつける目的でやっています。

今回対象とする環境

  • Windows 10 21H2
  • ImageMagick 7.1.0-52

ドキュメント

ImageMagick
ImageMagick Examples --
Cutting and Bordering Frame, adding a 3D-like border

ImageMagickとは

ImageMagickとは様々なOS向けに提供されている、画像加工ソフトです。
コマンドラインからイメージを加工、変換できます。

ImageMagickで枠線をつける

下記を実行するとクリップボードに格納されている画像に赤色で枠線をつけてくれます。
ImageMagickは適宜インストールしておいてください。

Add-BorderToImage.ps1
if ( [System.Windows.Forms.Clipboard]::ContainsImage() ){
    magick clipboard: -mattecolor "red" -frame "10x10" clipboard:
}

ImageMagickで枠線をつける方法については、ImageMagick Examples -- Cutting and BorderingのFrame, adding a 3D-like border項に記載があります。

必要最小限としては、magick clipboard: -mattecolor "red" -frame "10x10" clipboard:の部分だけあればよいのですが。

クリップボードに画像以外が格納されている場合を考慮して、ClipboardクラスのContainsImageメソッドで画像が含まれているか確認してから、ImageMagickを呼ぶようにしています。

総評

大量の画像に一括で枠線をつけたい場合には、画像保存して一括で変換した方が楽な気がしますが。
切り取り & スケッチアプリ以外で取得したスクショ数枚に対してといった場合は、このような方法もありかと思います。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?