我创建了一个UserControl,它只是定义一个新的GraphicsPath并将其设置为控件的Region。它的主要用途是作为其他控件的背景,所以通常唯一设置的就是BackColor。当我在控件的父级上调用DrawToBitmap时,子控件被绘制为一个矩形而不是被剪切到我期望的区域。我在这里错过了什么吗?
控件的标准使用不会出现此问题。
此外,我需要能够将此控件绘制到图像上,而它当前未显示在屏幕上。我已经看到,如果没有这个额外的要求,可以可以使用的一些变通方法。
答案 0 :(得分:0)
DrawToBitmap不尊重地区。但Graphics.CopyFromScreen确实如此。
Bitmap bitmap = new Bitmap(this.Width, this.Height);
using (Graphics graphics = Graphics.FromImage(bitmap))
{
graphics.CopyFromScreen(this.Location, new Point(0, 0), this.Size);
}