В моем коде, скажем, у меня есть PaintObject(Graphics g)
.В какой-то другой функции я хочу вызвать функцию PaintObject
для рисования чего-либо со смещением вместо рисования в (0,0).
Я знаю, что в Java я мог бы использовать Graphics.create(x, y, width, height)
функция для создания копии моего графического объекта, который я мог бы использовать, который рисовал бы в тех границах исходной графики.Есть ли способ сделать что-то подобное в C #?
Просто чтобы дать вам пример того, как мой код может выглядеть:
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)
}
}