In meinem Code, sagen wir, ich habe die PaintObject(Graphics g)
. In einer anderen Funktion möchte ich die Funktion PaintObject
aufrufen, um etwas an einem Offset zu zeichnen, anstatt es bei (0,0) zu zeichnen.Zeichnen Sie Grafiken bei Offset
Ich weiß, dass ich in Java die Graphics.create(x, y, width, height)
Funktion verwenden konnte, um eine Kopie meines Grafikobjekts zu erstellen, das ich verwenden könnte, das innerhalb dieser Grenzen der ursprünglichen Grafiken zeichnen würde. Gibt es eine Möglichkeit, etwas Ähnliches in C# zu tun?
nur ein Beispiel zu geben, was mein Code aussehen könnte:
class MyClass : UserControl {
void PaintObject(Graphics g) {
// Example: draw 10x10 rectangle
g.DrawRectangle(new Pen(Color.Black), 0, 0, 10, 10);
}
protected override void OnPaint(PaintEventArgs e) {
Graphics g = e.Graphics;
// TODO: Paint object from PaintObject() at offset (50, 50)
}
}
Verwenden Graphics.TranslateTransform() –