将XAML Image保存到metro应用程序的文件中

时间:2014-06-26 10:30:15

标签: c# pdf bitmapimage

我在C#中将PDF文件转换为BitmapImage。在我操作它(调整大小,旋转)后我想将它保存到新的PNG或JPEG文件但我找不到如何做到这一点。我用C#开发了一个Windows应用商店。

2 个答案:

答案 0 :(得分:0)

根据这篇博文:Save XAML as PNG in a Windows Store App

您应该可以使用类BitmapEncoder执行此操作,方法BitmapSource.CopyPixels将为您提供BitmapEncoder所需的像素数据。

答案 1 :(得分:-1)

使用LibPdf进行PDF到图片转换

此库将PDF文件转换为图像。支持的图像格式是PNG和BMP,但您可以轻松添加更多。

用法示例:

using (FileStream file = File.OpenRead(@"..\path\to\pdf\file.pdf")) // in file
{
    var bytes = new byte[file.Length];
    file.Read(bytes, 0, bytes.Length);
    using (var pdf = new LibPdf(bytes))
    {
        byte[] pngBytes = pdf.GetImage(0,ImageType.PNG); // image type
        using (var outFile = File.Create(@"..\path\to\pdf\file.png")) // out file
        {
            outFile.Write(pngBytes, 0, pngBytes.Length);
        }
    }

}

ImageMagick,您还应该看看这个免费且功能强大的工具。它能够做你想做的事情,并提供一些.NET绑定(以及与其他几种语言的绑定)。