有没有办法使用矩形来创建基于pdf的图像?
即时通讯使用syncfusion pdfviewer(使用无限制固定费用许可证)。这就是我使用c#
从pdf创建图像的方法private void ScreenCapture(string fileName, int x, int y, int width, int height)
{
try
{
if (x != 0 && y != 0 && width != 0 && height != 0)
{
Rectangle rect = new Rectangle(x, y, width, height);
Bitmap bmp = new Bitmap(rect.Width, rect.Height, PixelFormat.Format32bppArgb);
Graphics g = Graphics.FromImage(bmp);
g.CopyFromScreen(rect.Left, rect.Top, 0, 0, bmp.Size, CopyPixelOperation.SourceCopy);
bmp.Save(fileName, ImageFormat.Jpeg);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
MessageBox.Show(ex.StackTrace);
}
finally
{
}
}
这是我的附加代码
宣言
Point startPoint;
鼠标按下
Control control = (Control)sender;
startPoint = control.PointToScreen(new Point(e.X, e.Y));
我的鼠标
Point endPoint = ((Control)sender).PointToScreen(new Point(e.X, e.Y));
int width = endPoint.X - startPoint.X;
int height = endPoint.Y - startPoint.Y;
theRectangle = new Rectangle(startPoint.X ,
startPoint.Y, width, height );
我的代码问题是我正在捕捉我的屏幕。所以当我调整我的程序时。它将捕获屏幕并导致错误的图像
那么有没有办法使用c#将具有矩形的pdf页面转换或转换为图像?谢谢
更新
如果我的问题不明确,我很抱歉。例子。我使用pdfviewer of syncfusion
为pdf绘制一个矩形输出将是这样的
https://drive.google.com/open?id=0B45rDxvaXzsmcTZIVVVSUU9Zc0E
https://drive.google.com/open?id=0B45rDxvaXzsmc1cxNTV4UUdOMUE
https://drive.google.com/open?id=0B45rDxvaXzsmSWtDRWhXYkpDT2c
https://drive.google.com/open?id=0B45rDxvaXzsmS214WmJnN3BvcUk
如果我的问题不明确,我很抱歉
答案 0 :(得分:1)
在分析了附加的屏幕截图后,我们发现您在WPF平台中使用PdfViewerControl
。根据您的要求,我们创建了一个示例,使用PDF Viewer将具有矩形的pdf页面转换为图像。
使用样本的步骤:
使用形状注释在区域中绘制矩形,就像在屏幕截图中使用的那样。
使用PdfViewerControl
的“保存”按钮保存PDF文档中的更改。
单击“打开PDF和ExportAsImage”按钮,将具有矩形的页面导出到图像。
请找到使用的代码段将具有矩形的PDF页面转换为图像:
PdfLoadedDocument ldoc = new PdfLoadedDocument(fileName);
ldoc.Pages[0].Annotations.Flatten = true;
ldoc.Save();
Bitmap bmp = ldoc.ExportAsImage(0);
bmp.Save("outputImage.jpeg");
您可以从以下链接下载示例。
示例链接:http://www.syncfusion.com/downloads/support/directtrac/166006/ze/SampleWPF734738560
我们还创建了一个使用该示例的视频演示,它将在以下链接中提供。
视频链接:http://www.syncfusion.com/downloads/support/directtrac/166006/ze/ExportAsImage1083458687
请尝试此示例,并告知我们是否符合您的要求。
否则请向我们提供具体的详细信息,例如所需输出的屏幕截图,您使用的样本以及其他详细信息(如果有)。我们分析更多信息并为您提供更好的解决方案将会对您有所帮助。