DOBON.NET DOBON.NETプログラミング掲示板過去ログ

Graphics型からImage型の変換

環境/言語:[C#]
分類:[.NET]

Graphics型からImage型の変換の仕方がわかりません。
教えてください。
■No2894に返信(こうさんの記事)
> Graphics型からImage型の変換の仕方がわかりません。
> 教えてください。

Graphicsクラスはキャンバスにあたるクラスで画像そのものではないので、
変換というのはありません。

Graphics.FromImageメソッドでImageからGraphicsオブジェクトを取得し、
そのGraphicsで描画を行ってください。
そうするとそのImageに描画されます。
ではクリップボードにコピーして
Windowsについているペイントに貼り付けるには
Bitmapに変えなくてはいけないと思うのですが
どのようにしたらいいですか?
回答よろしくお願いします。
よねさん
下記のコードで描画されたものを
クリップボードにコピーして
ペイントに貼り付けるにはどうしたらよいか?
と言う質問でお願いします。
何回もすみません。
Bitmap img = new Bitmap(@"C:\サンプル.jpg");
//PictureBox1のGraphicsオブジェクトの作成
Graphics g = PictureBox1.CreateGraphics();

//元の画像の(10,10)-(100,100)の部分を切り取って表示する
//座標(0,0)に表示し、単位をピクセルとする
Rectangle rect = new Rectangle(10, 10, 100, 100);
g.DrawImage(img, 0, 0, rect, GraphicsUnit.Pixel);

//Graphicsオブジェクトを破棄
g.Dispose();
■No2897に返信(こうさんの記事)
よねさ。何回もすみません。
こっちのコードでした。
[C#]
//Graphicsオブジェクトの作成
Graphics g = PictureBox1.CreateGraphics();

//位置(50, 50)、大きさ100x80の領域のみ描画されるようにする
g.SetClip(new Rectangle(50, 50, 100, 80));
//画像を読み込んで表示
Image img = Image.FromFile(@"C:\サンプル.jpg");
g.DrawImage(img, 0, 0);

//リソースを開放する
img.Dispose();
g.Dispose();
Imageオブジェクトができているなら、単純にClipboard.SetDataObjectでOKですよ。

DOBON.NET | プログラミング道 | プログラミング掲示板