【问题标题】:Draw a bitmap from a control taller than the screen从比屏幕高的控件绘制位图
【发布时间】:2011-07-16 22:37:44
【问题描述】:

我在将 C# 控件保存到位图文件时遇到了很多问题。所讨论的控件是一种用户可以在其上书写文本、绘制图片和绘制框的绘图表面。该控件可调整大小且可拖动。发生的情况是,当控件真的很大并且在屏幕上不完全可见时,控件不可见的部分在位图上保存为半画。用于生成位图的代码非常简单:

Bitmap bitmap = new Bitmap(myControl.Width, myControl.Height);
myControl.DrawToBitmap(bitmap);

我尝试了以下方法来尝试绘制完整的位图,但没有任何成功:

myControl.Invalidate(myControl.ClientRectangle, true);
myControl.Refresh();
myControl.Update();
Application.DoEvents();

我无法缩小控件以使其完全可见,因为分辨率和图像质量对于该项目非常重要。事实上,我实际上是在尝试放大图像以提高其质量。有没有我不知道从控件生成图像的方法?

谢谢你。

【问题讨论】:

    标签: c# winforms controls bitmap


    【解决方案1】:

    DrawToBitmap 有局限性,并不总是按预期工作。尝试使用原生 GDI+

    这里是example

    【讨论】:

      【解决方案2】:

      也许我在这里的回答Capturing a Window that is hidden or minimized可以帮助你?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-02-25
        相关资源
        最近更新 更多