その他

クリップボードにある画像をファイルとして保存するC#コード

とある目的で、クリップボードにコピーされた画像をファイルとして保存する処理を書いてみました。

下記のようなツールも見つけましたが、任意のタイミングで任意の場所にファイル保存したかったので、自分で書くことにしました。

下記の通り簡単なコードで、PNG、JPEG、BMP、GIF、TIF形式での保存に対応しています。

CB2IMG.cs

using System;
using System.IO;
using System.Drawing;
using System.Drawing.Imaging;
using System.Windows.Forms;

namespace CB2IMG
{
  class Program
  {
    [STAThread]
    public static void Main(string[] args)
    {
      Image img = Clipboard.GetImage();
      if (img != null) {
        ImageFormat fmt = ImageFormat.Png;
        switch (Path.GetExtension(@args[0]).ToLower()) {
          case ".jpg":
          case ".jpeg":
            fmt = ImageFormat.Jpeg;
            break;
          case ".bmp":
            fmt = ImageFormat.Bmp;
            break;
          case ".gif":
            fmt = ImageFormat.Gif;
            break;
          case ".tif":
            fmt = ImageFormat.Tiff;
            break;
          default:
            break;
        }
        try {
          img.Save(@args[0], fmt);
        } catch  (Exception e) {
          Console.WriteLine("Exception: {0}", e);
        }
      }
    }
  }
}

csc.exeによるコンパイル

統合開発環境であるVisual Studioがなくても、OS標準搭載の「csc.exe」を使えば、下記サイトのように簡単にコンパイルできます。

使い方

使い方も単純で、クリップボードに画像がコピーされている状態で、保存ファイルのパスを指定して実行するだけです。

cb2img 画像.jpg

画質や透過色の指定は行っていませんが、比較的簡単なコード修正で対応できるかと思います。

近況報告 2020年4月18日前のページ

Slackのカスタム絵文字を一括作成するVBAマクロ次のページ

関連記事

  1. Office関連

    オデッセイ コミュニケーションズ主催のExcel VBA入門セミナーに参加しました。

    今月19日に開催されたオデッセイ コミュニケーションズさん主催の「Ex…

  2. その他

    2016年ブログ振り返り(後半戦)

    前回の記事に引き続き、今年書いた記事の振り返りです。2016年…

  3. その他

    jQuery UIのDatepickerに祝日判定ロジックを組み込む。

    jQuery UIにはWebシステムで簡単に日付選択ができるようになる…

  4. Office関連

    オデッセイ コミュニケーションズ主催のWord活用無料セミナーに参加しました。

    Club Microsoft会員限定、オデッセイ コミュニケーションズ…

  5. その他

    Webサービスのサジェスト機能についてまとめてみました。

    「Bingで期間指定検索するオプション 他」でも紹介していますが、Bi…

  6. Office アドイン

    Live Serverとmkcertで簡単にローカルhttpsサーバーを立ち上げる方法

    Office アドインのテストを行うのに、簡単に構築できるhttpsサ…

コメント

  • コメント (0)

  • トラックバックは利用できません。

  1. この記事へのコメントはありません。

Time limit is exhausted. Please reload CAPTCHA.

Translate

最近の記事

アーカイブ

PAGE TOP