Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#打印屏幕可滚动控件_C#_Printing_Screen_Region_Scrollable - Fatal编程技术网

C#打印屏幕可滚动控件

C#打印屏幕可滚动控件,c#,printing,screen,region,scrollable,C#,Printing,Screen,Region,Scrollable,我有一个控件,它是可滚动的绘图仪。绘图仪完成打印后,可以按如下方式滚动: 我的绘图仪是一个实时绘图仪,也就是说,它会随着时间的推移而打印,而不是静态绘图仪(您可以手动输入值的绘图仪)。停止绘图仪后,我可以在绘图仪上滚动查看结果。但是,我想将绘图仪保存到一个图像中,这是我尝试使用打印屏幕方法来完成的。但我能够捕获的只是绘图仪的可见部分,而不是绘图仪的不可见部分(这是因为它需要滚动)。我希望现在更清楚了。 打印屏幕的代码为: // Set the bitmap object to the size

我有一个控件,它是可滚动的绘图仪。绘图仪完成打印后,可以按如下方式滚动:

我的绘图仪是一个实时绘图仪,也就是说,它会随着时间的推移而打印,而不是静态绘图仪(您可以手动输入值的绘图仪)。停止绘图仪后,我可以在绘图仪上滚动查看结果。但是,我想将绘图仪保存到一个图像中,这是我尝试使用打印屏幕方法来完成的。但我能够捕获的只是绘图仪的可见部分,而不是绘图仪的不可见部分(这是因为它需要滚动)。我希望现在更清楚了。 打印屏幕的代码为:

// Set the bitmap object to the size of the screen
        bmpScreenshot = new Bitmap(panel2.Bounds.Width, panel2.Bounds.Height, PixelFormat.Format32bppArgb);
        // Create a graphics object from the bitmap
        gfxScreenshot = Graphics.FromImage(bmpScreenshot);

        Point p = this.PointToScreen(new Point(panel2.Bounds.X, panel2.Bounds.Y));
        gfxScreenshot.CopyFromScreen(p.X, p.Y, 0, 0,
                         panel2.Bounds.Size, CopyPixelOperation.SourceCopy);


        SaveFileDialog saveImageDialog = new SaveFileDialog();
        saveImageDialog.Title = "Select output file:";
        saveImageDialog.Filter = "JPeg Image|*.jpg|Bitmap Image|*.bmp|Gif Image|*.gif";
        if (saveImageDialog.ShowDialog() == DialogResult.OK)
        {
            bmpScreenshot.Save(saveImageDialog.FileName, ImageFormat.Jpeg);
        }

非常感谢。

请看这里:您应该调用Win32 API打印窗口。

请看这里:您应该调用Win32 API打印窗口。

代码?如果是滚动事件上的控件调用。您的意思是当您滚动控件时,您会看到空白?你用什么代码画这个图?很抱歉搞混了。编辑我的问题。请输入代码?如果是滚动事件上的控件调用。您的意思是当您滚动控件时,您会看到空白?你用什么代码画这个图?很抱歉搞混了。编辑了我的问题。我对他的问题的解释是,他能够绘制他需要绘制的内容,但他不能制作控件不可见区域的打印屏幕,这是一种解释,可能是错误的,但因为他在标题中谈到了打印屏幕……很公平,我试着推OP给出一个更好的问题以避免解释:)忽略我的评论。谢谢Davide,我已经更新了我的问题。您的解释是正确的,但是您发布的链接谈到了实际的“打印”,我不想这样做。我对他的问题的解释是,他能够绘制他需要绘制的内容,但他不能制作控件不可见区域的打印屏幕,这是一种解释,可能是错误的,但因为他在标题中谈到了印刷屏幕……很公平,我试图推动OP提出一个更好的问题以避免解释:)忽略我的评论。谢谢Davide,我更新了我的问题。你的解释是正确的,但是你发布的链接谈到了实际的“打印”,我不想这样做。