namespace ClipImg;
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
// クリップボードからオブジェクトを取り出し
var obj = Clipboard.GetData("PNG");
if (obj == null) return;
// メモリーストリームにキャスト
var ims = (MemoryStream)obj;
// メモリーストリームからBitmapオブジェクトを生成
var bmp = new Bitmap(ims);
ims.Dispose();
using (var g = Graphics.FromImage(bmp)) {
g.FillRectangle(Brushes.Red, 10, 10, 150, 100);
};
// メモリストリームを開く
var oms = new MemoryStream();
// 変数bmpにクリップボードにコピーするBitmapオブジェクトがセットされているとする
// BitmapオブジェクトをPNG画像としてメモリストリームに書き込む
bmp.Save(oms, System.Drawing.Imaging.ImageFormat.Png);
// クリップボードにメモリストリームをセット
Clipboard.SetData("PNG", oms);
}
}
コメント