在我的代碼中,假設我有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)
}
}
使用Graphics.TranslateTransform() – 2012-03-24 19:38:53