その他

クリップボードにある画像をファイルとして保存する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関連

    [PowerShell]iTextSharpを使ってPDFファイルを結合する

    mougにあった質問「2つのPDFファイルを結合するには」の回答用に書…

  2. Windows 10

    Windows Application Driverを試してみました。

    Build 2016のセッション「UI Test Automation…

  3. その他

    Microsoft Speech Platform Version 11が公開されました。

    今月1日、Microsoft Speech Platform Vers…

  4. その他

    Photoshop CSのライセンス認証問題

    今更ながらに、10年ほど前に発売された「Photoshop CS」をイ…

  5. その他

    SharpDevelopのインストールと日本語化

    私のHPでも「SharpDevelopでリボンXMLを編集する」でリボ…

  6. その他

    TypeLibraryから列挙型の情報を取得するC#コード

    Excel Q&Aサロンに「列挙型の一覧データを取得したい」との質問が…

コメント

  • コメント (0)

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

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

Time limit is exhausted. Please reload CAPTCHA.

※本ページはプロモーションが含まれています。

Translate

最近の記事

アーカイブ

PAGE TOP