2

ビットマップクラスを使用して画面に画像を描画しようとしていますが、問題があります。

これが私のコードです:

Bitmap bm = new Bitmap(@"C:\Alan\University\111.jpg");
Graphics g = Graphics.FromImage(bm);
g.DrawImage(bm,60,60);

コードを実行した後、画面に何も追加されません。私のコードの何が問題になっていますか?ありがとう

4

1 に答える 1

7

Imageそれ自体からグラフィックス オブジェクトを作成し、その上に画像を描画しようとします。Graphics画像を別のオブジェクトに描画する必要があります。通常、画像を表示する画面またはコンポーネントを表すもの。

画像を描画しようとするコンテキストの種類を指定しません。Graphicsオブジェクトを取得する方法は、フレームワーク (WPF、WinForms など) によって異なります。典型的な winforms アプリケーションの場合OnPaint、ウィンドウで次のようにオーバーライドします。

protected override void OnPaint(PaintEventArgs e)
{
   Bitmap bm = new Bitmap(@"C:\Alan\University\111.jpg");

   // Draw using this   
   e.Graphics.DrawImage(bm,60,60);

   base.OnPaint(e);
}

もちろん、フォームを描画するたびにではなく、何らかの起動メソッドで一度だけ画像をロードしたいでしょう。

于 2012-08-21T13:39:34.563 に答える