2

自由時間に設計しているXNAゲームのマップエディターに取り組んでいます。マップで使用される芸術作品は単一のテクスチャに保存され、長方形は座標や幅などで保存されます。

winformsアプリケーションでは、可能なセグメントの配列から入力されたリストボックスから必要なセグメントを選択することにより、セグメントを追加できます。

問題は、選択したセグメントのプレビューを表示できるようにしたいことです。これは共通のテクスチャに保存されているため、画像を表示するようにピクチャーボックスを設定するだけでは不十分です。

長方形の情報(.x、.y、.width、.height)を使用して、画像のセクションのみを画像ボックスに表示したり、セクションをビットマップにブリットして表示したりする方法はありますか?

どうもありがとう

マイケル・アレン

4

2 に答える 2

9

おそらくGDIライブラリを調べたいと思うでしょう。ImageまたはBitmapオブジェクトとGraphics.DrawImage()を一緒に使用すると、探しているものが得られます。

private void DrawImageRectRect(PaintEventArgs e)
{

    // Create image.
    Image newImage = Image.FromFile("SampImag.jpg");

    // Create rectangle for displaying image.
    Rectangle destRect = new Rectangle(100, 100, 450, 150);

    // Create rectangle for source image.
    Rectangle srcRect = new Rectangle(50, 50, 150, 150);
    GraphicsUnit units = GraphicsUnit.Pixel;

    // Draw image to screen.
    e.Graphics.DrawImage(newImage, destRect, srcRect, units);
}

また、PictureBoxやGDIを使用する代わりに、WinForm内でXNAを使用することもできます。まだ100%サポートされていませんが、そのチュートリアルはここにあります。

于 2009-05-07T22:58:23.213 に答える
0

Graphics.DrawImage()を使用でき、Rectangleを受け入れます。

于 2009-05-07T22:43:13.110 に答える