Sets the clipping region of this Graphics to the Clip property of the specified Graphics.
白話翻譯就是在 Graphics 上限定區域,只能繪製該區域,無法超過該區域
namespace GraphicsNETSample
{
public partial class FrmSetClip : Form
{
public FrmSetClip()
{
InitializeComponent();
}
private void FrmSetClip_Paint(object sender, PaintEventArgs e)
{
SetClipRectangle(e);
}
private void SetClipRectangle(PaintEventArgs e)
{
// 繪製一個 300 X 300 矩形的灰色背景
Rectangle bgRect = new Rectangle(0, 0, 300, 300);
e.Graphics.FillRectangle(new SolidBrush(Color.LightGray), bgRect);
// 限定在 Graphics 上繪製只能在該 100 X 100 矩形內
Rectangle clipRect = new Rectangle(0, 0, 100, 100);
e.Graphics.SetClip(clipRect);
// 故意繪製一個同 300 X 300 灰色背景的矩形範圍
// 但因為 Graphics 已經被限定在 100 X 100 矩形範圍內,
// 所以只會繪製出 100 X 100 的紅色矩形
e.Graphics.FillRectangle(new SolidBrush(Color.Red), bgRect);
}
}
}
沒有留言:
張貼留言