1

我有一个面板,其中内容被动态添加并导出为图像文件。我使用下面的代码将内容导出为图像。

 Bitmap tempBmp = new Bitmap(pnlCanvas.Width, pnlCanvas.Height);
 pnlCanvas.DrawToBitmap(tempBmp, new Rectangle(0, 0, pnlCanvas.Width, pnlCanvas.Height));
 tempBmp.Save(fileName);

在特定情况下,我将 RichTextBox 控件添加到面板中。发现导出的时候看不到控件。

我不确定出了什么问题。请指导我应该做什么。

提前致谢,K

4

3 回答 3

3

如前所述,MSDN DrawToBitmap 不适用于RichTextBox. 尝试使用GDI+手动绘制内容。

于 2012-10-19T13:58:24.417 回答
0

检查控件是否真的存在,它是被丢弃还是不可见。尝试向它添加一些值并检查它是否返回带有变量的值或给你错误(如果它消失了)。这是我的想法:)

于 2012-10-19T13:56:37.840 回答
0

刚刚成功地完成了我正在寻找的东西。我正在回答我自己的问题,以便它可以帮助寻找相同问题的人。

捕获 ActiveX 控件并导出为图像的示例代码。

Rectangle ctrlRect = myControl.RectangleToScreen(myControl.ClientRectangle);
Bitmap myImage = new Bitmap(ctrlRect.Width,ctrlRect.Height,PixelFormat.Format32bppArgb);
Graphics myGraphics = Graphics.FromImage(myImage);
myGraphics.CopyFromScreen(ctrlRect.Location, Point.Empty, myControl.Size);
myImage.Save("sample.png");
于 2012-10-20T11:20:05.430 回答