我在将 C# 控件保存到位图文件时遇到了很多问题。所讨论的控件是一种绘图表面,用户可以在其上书写文本、绘制图片和绘制框。该控件可调整大小并可拖动。发生的情况是,当控件非常大并且在屏幕上不完全可见时,控件不可见的部分将以半绘制的方式保存在位图上。用于生成位图的代码非常简单:
Bitmap bitmap = new Bitmap(myControl.Width, myControl.Height);
myControl.DrawToBitmap(bitmap);
我尝试了以下方法来尝试绘制完整的位图,但没有成功:
myControl.Invalidate(myControl.ClientRectangle, true);
myControl.Refresh();
myControl.Update();
Application.DoEvents();
我无法缩小控件以使其完全可见,因为分辨率和图像质量对该项目非常重要。事实上,我实际上是在尝试放大图像以提高其质量。有没有我不知道从控件生成图像的方法?
谢谢你。
最佳答案
DrawToBitmap
有局限性,并不总是按预期工作。尝试使用原生 GDI+
这里是 example
关于c# - 从比屏幕高的控件绘制位图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5331658/