C#のGraphicsクラスについて(GDI+)
以下のようにgraphicsクラスをつかった画像の描画をおこないました。
Graphics gr = Graphics.FromImage(mapObj);
というふうにからのリソースからGraphicsオブジェクトをつくる方法です。
using System;
using System.IO;
using System.Windows.Forms;
using System.Drawing;
using System.Web;
using System.Net;
using System.Text;
using System.Threading;
using System.ComponentModel;
public class MainClass{
public static void Main(string [] args){
NewForm formObj = new NewForm();
formObj.RenderMethod();
Application .Run(formObj);
}
}
public class NewForm : Form{
public NewForm(){
this.Width = 500;
this.Height = 500;
}
public void RenderMethod(){
Bitmap mapObj = new Bitmap(500,500);
Graphics gr = Graphics.FromImage(mapObj);
Image imageObj = Image.FromFile("C:\\test.jpg");
gr .DrawImage(imageObj, 0,0,150,150);
this.BackgroundImage = mapObj;
}
}
このほかに、フォームコントロールの thisl.CreateGraphics()という
メソッドを使っても画像を描画できるとききました。
あるサンプルをみると
public class NewForm : Form{
public NewForm(){
this.Width = 500;
this.Height = 500;
}
public void RenderMethod(){
Graphics gr = this.CreateGraphics();
Image imageObj = Image.FromFile("C:\\test.jpg");
gr .DrawImage(imageObj, 0,0,150,150);
}
}
とこのようにthis.CreateGraphics()をつかっていましたが
実際にはこれが描画されないのです。
Graphics gr = Graphics.FromImage(mapObj);
というGraphicsクラスの静的メソッドを使う方法ではなく
コントロールのCreateGraphicsメソッドをつかって描画するにはどうしたらよいのですか?
識者のかた、ご教授ください。
お礼
先日はありがとうございました。 調べた結果PictureBox→PictureBox1に名前を変えたらうまくいきました。 これからもよろしくお願いします。
補足
返信が遅くなってすみません。 >PictureBox >というオブジェクトはあるのでしょうか? ということですが、定義はしています。 それと開発環境はSharpDebelopを使用しています。 何か関係がありますか?