C# CopyFromScreen不工作

C# CopyFromScreen不工作,c#,C#,这个有点让人困惑 我正在使用Adobe的PDF Viewer控件查看PDF,但我希望用户能够将图像拖到PDF上,然后在单击“保存”时将图像添加到该位置的PDF中 实现PDF查看器非常困难,但我最终决定使用Adobe的控件,拍摄一张照片,然后允许用户在PDF图片的顶部绘制图像。当他们单击save时,我将使用PDFSharp将图像放到PDF上,一旦我确定了图像的位置,但目前的问题是我无法获得PDF的图片 下面的代码用于获取图片,但它所连接的面板显示为白色背景,带有红色“X”和边框 using (Bi

这个有点让人困惑

我正在使用Adobe的PDF Viewer控件查看PDF,但我希望用户能够将图像拖到PDF上,然后在单击“保存”时将图像添加到该位置的PDF中

实现PDF查看器非常困难,但我最终决定使用Adobe的控件,拍摄一张照片,然后允许用户在PDF图片的顶部绘制图像。当他们单击save时,我将使用PDFSharp将图像放到PDF上,一旦我确定了图像的位置,但目前的问题是我无法获得PDF的图片

下面的代码用于获取图片,但它所连接的面板显示为白色背景,带有红色“X”和边框

using (Bitmap bitmap = new Bitmap(adobePDFViewer1.Width, adobePDFViewer1.Height))
                {
                    using (Graphics g = Graphics.FromImage(bitmap))
                    {
                        g.CopyFromScreen(new Point(adobePDFViewer1.Left, adobePDFViewer1.Top), Point.Empty, adobePDFViewer1.Size);
                    }
                    panelOverPdfViewer.BackgroundImage = bitmap;
                }
我不认为这是最好的方法,但我无法找到其他方法。任何帮助都将不胜感激

编辑:

下面是一个非常有用的答案,这是工作代码:

以下是我使用的代码:

Bitmap printscreen = new Bitmap(adobePDFViewer1.Width, adobePDFViewer1.Height);
                Graphics graphics = Graphics.FromImage(printscreen as Image);
                int left = this.Left + 396;
                int top = this.Top + 30;
                graphics.CopyFromScreen(left, top, 0, 0, printscreen.Size);
                pictureBoxOverPDFView.Image = printscreen;
看看这个

试着用这个来测试CopyFromScreen

private void PrintScreen()

{  

Bitmap printscreen = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height);

Graphics graphics = Graphics.FromImage(printscreen as Image);

graphics.CopyFromScreen(0, 0, 0, 0, printscreen.Size);

printscreen.Save(@"C:\Temp\printscreen.jpg", ImageFormat.Jpeg);

} 

非常感谢-这正是我想要的!!我对它进行了轻微的修改,使其能够以我想要的方式工作,但在其他方面却非常完美!