0

問題を確認するには、次の手順に従ってください (私は C# でコーディングしています)。

  1. picturebox1という名前のフォームにpictureboxを置きます
  2. 小さな長方形にサイズ変更します(75,75など)
  3. その四角形 (500,500 など) よりも大きいリソース (pic という名前) に画像を追加します。

これで準備が整いました:D

この画像を実行時に画像ボックスに表示し、画像の一部だけでなく画像全体を表示する 2 つの方法を知っています。

  1. Imagelist の追加とサイズの設定 (これはまったくダメです)
  2. そのピクチャ ボックスの onPaint を次のように記述します。

e.Graphics.DrawImage(Properties.Resources.pic, new Rectangle(0,0,75,75));

picturebox1 の Image プロパティを埋めたいと仮定すると、次のように記述する必要があります。

pictureBox1.Image = (画像)Properties.Resources.ResourceManager.GetObject("pic1");

取得した画像のサイズを変更しません。この問題を回避する良い方法があるかどうか知りたいです (サイズを変更して簡単に割り当てるため)。ところで、私はこれらのようなものを使用して画像のサイズを変更したくありません

  1. C# を使用した画像編集
  2. アスペクト比を維持した画像編集

次に、2 番目の質問:

私の例ではリソースが静的に追加されていることはわかっていますが、文字列としてハードコーディングして "GetObject()" メソッドに渡す代わりに、プログラムでリソースの名前を取得する方法はありますか?

4

1 に答える 1

1

デフォルトでは、PictureBox は表示領域に合わせて画像のサイズを変更しません。これを試して:

pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage
于 2011-03-01T09:35:39.760 に答える