Frage

Ich arbeite an einem Map-Editor für ein XNA Spiel, das ich in meiner Freizeit bin die Gestaltung. Die Kunstwerke in der Karte verwendet werden, auf einer einzigen Textur gespeichert und Rechtecke werden gespeichert mit Koordinaten und Breiten usw.

In der WinForms-Anwendung kann ich Segmente hinzufügen, indem Sie das Segment der Auswahl ich von einem listbox wollen, die aus der Reihe der möglichen Segmente aufgefüllt wird.

Das Problem ist, würde Ich mag Lage sein, eine Vorschau des Segments zu zeigen, ausgewählt und, da sie auf einer gemeinsamen Textur gespeichert ist, kann ich nicht einfach eine picturebox gesetzt um das Bild anzuzeigen.

Gibt es trotzdem, um das Rechteck Informationen die Verwendung (.x, .y, .width, .height) in einem picturebox nur den Abschnitt des Bildes angezeigt werden, oder den Abschnitt in eine Bitmap blitten und angezeigt werden?

Vielen Dank

Michael Allen

War es hilfreich?

Lösung

Sie wollen wahrscheinlich in die GDI-Bibliothek suchen. Unter Verwendung des Bildes oder Bitmap-Objekt und die Graphics.DrawImage () zusammen bekommen, was Sie suchen.

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);
}

Sie können auch anstelle der Verwendung von PictureBox und GDI in mit XNA in Ihrem WinForm interessiert. Es ist noch nicht 100% unterstützt, aber eine Anleitung, das kann hier .

Andere Tipps

Sie können mit Graphics.DrawImage () und das wird ein Rechteck an.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top