[英]Convert System.Windows.Media.Imaging.BitmapSource to System.Drawing.Image
[英]C# WPF System.Drawing.Image to System.Windows.Media.Imaging.BitmapSource
我使用spire.pdf库将pdf文件转换为图片,请通过文档中提供的代码来完成。 生成PDF文件到图像,因为他希望它们打印,而PDF文件本身无法打印(我的意思是打印机)
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
Spire.Pdf.PdfDocument pdf = new PdfDocument();
pdf.LoadFromFile("sample.pdf");
BitmapSource source;
Bitmap bmp;
for (int i = 1; i < pdf.Pages.Count+1; i++)
{
source = pdf.SaveAsImage(i);
bmp = SourceToBitmap(source);
bmp.Save(string.Format("result-{0}.png", i), ImageFormat.Png);
}
}
private Bitmap SourceToBitmap(BitmapSource source)
{
Bitmap bmp;
using (MemoryStream ms = new MemoryStream())
{
PngBitmapEncoder encoder = new PngBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(source));
encoder.Save(ms);
bmp = new Bitmap(ms);
}
return bmp;
}
}
我的包括:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Navigation;
using System.Windows.Shapes;
using Spire.Pdf;
using System.Drawing;
using System.Drawing.Imaging;
using System.Windows.Media.Imaging;
using System.IO;
但我从source = pdf.SaveAsImage(i);
收到错误source = pdf.SaveAsImage(i);
Error 1 Cannot implicitly convert type 'System.Drawing.Image' to 'System.Windows.Media.Imaging.BitmapSource' c:\users\łukasz\documents\visual studio 2013\Projects\WpfApplication5\WpfApplication5\MainWindow.xaml.cs 39 26 WpfApplication5
显然PdfDocument.SaveAsImage
返回一个System.Drawing.Image
,因此您不需要执行任何WPF到WinForms位图转换。
这应该足够了:
var source = pdf.SaveAsImage(i);
source.Save(string.Format("result-{0}.png", i), ImageFormat.Png);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.