将JPG转换为PNG

JPEGPNG 是流行的光栅图像格式之一,因其有损压缩方法而广受欢迎。您可以选择调整压缩级别以达到所需的质量级别,同时减少存储大小。但是,有时您的系统只接受特定格式,因此您需要加载现有的图像集并将它们保存到所需的输出。与使用功能有限的传统应用程序和手动提供输入文件不同,编程 API 因其灵活性和以批处理格式执行所有操作的能力而领先一步。

图像处理 API

Aspose.Imaging for .NET 是一个了不起的编程 API,提供了创建、操作和转换 支持的文件格式 的功能。它独立于其他图形应用程序运行,不需要在机器上安装任何图像编辑器。它可以与 ASP.NET Web 应用程序或 Windows 桌面应用程序一起使用。 Aspose.Imaging for .NET 捆绑在 Conholdate.Total for .NET 套件中。因此,如果您购买了 Conholdate.Total for .NET 的订阅,那么您绝对可以使用 Aspose.Imaging for .NET API 执行所有图像处理操作。

为了使用 API,第一步是安装它。您可以按照任一步骤执行安装。

  • 下载 DLL 文件 并在您的项目中手动引用它们
  • 打开 NuGet 包管理器,搜索 Aspose.Imaging 并安装它。
  • 从 NuGet 包管理器控制台运行以下命令
Install-Package Aspose.Imaging

在 C# 中将 JPG 转换为 PNG

API 足够强大,可以识别输入图像的格式,您只需以 Stream 实例的形式或通过提供本地系统上文件的路径来指定源图像。在以下步骤中,我们将解释如何加载 JPEG 图像并将输出保存为 PNG 格式。

  1. 首先,我们需要创建一个 Aspose.Imaging.License 对象的实例。调用 SetLicense(…) 并提供 Conholdate.Total.NET.lic 文件的路径作为参数
  2. 其次,创建一个 Image 类的对象,它是所有图像类型的基类,并传递 Aspose.Imaging.Image.Load(..) 方法的结果,该方法采用图像的 Steam 或字符串路径要加载的文件
  3. 创建 PngOptions 类的实例
  4. 最后,调用 Image 类的 Save(String) 方法并传递要保存生成的 PNG 文件的位置
// 创建一个对象来启动许可
Aspose.Imaging.License license = new Aspose.Imaging.License();

// 提供许可证文件的路径
license.SetLicense("/Documents/Conholdate.Total.NET.lic");

// 在 Image 类的实例中加载现有图像(JPEG 类型)
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load("/Documents/samsung_galaxy.jpg"))
{
  // create an object of PngOptions class
  Aspose.Imaging.ImageOptions.PngOptions options = new Aspose.Imaging.ImageOptions.PngOptions();
  
  // save resultant image and pass PngOptions as argument
  image.Save(dataDir + "_output.png", options);
}

The PngOptions class also provides various properties and in the example below, we have specified to generate the color type of resultant image as Grayscale. Also, the compression level for a resultant image is specified as 4. 请注意,CompressionLevel 属性接受 0-9 之间的值,其中 9 是最大压缩,0 是默认值。

// 创建 PngOptions 对象
Aspose.Imaging.ImageOptions.PngOptions options = new Aspose.Imaging.ImageOptions.PngOptions();

// 将结果图像的颜色类型设置为 grayScale
options.ColorType = Aspose.Imaging.FileFormats.Png.PngColorType.Grayscale;

// 将结果文件的压缩级别设置为 4
options.CompressionLevel = 4;

源文件和生成的灰度图像可以从以下链接下载

C#中的JPG到PDF转换

Aspose.Imaging for .NET 同样能够将 JPG 图像转换为 PDF(可移植文档格式)。在转换过程中,您还可以设置 DocumentInfo 以及 PDF/A 合规性详细信息。以下步骤说明了加载光栅图像及其转换为 PDF 格式的过程。

  1. 第一步是创建 License 类的实例。
  2. 其次,调用SetLicense(…)方法并提供Conholdate.Total.NET.lic文件的路径。初始化许可证以消除评估版本中存在的所有限制
  3. 第三,创建一个 Image 类的对象,它是所有图像类型的基类,并传递 Aspose.Imaging.Image.Load(..) 方法的输出
  4. 现在创建一个 PdfOptions 类的实例
  5. 为了设置 PDF 文档信息,如作者、标题、主题等,创建 PdfDocumentInfo 类的对象并将其值传递给 PdfOptions 类的 PdfDocumentInfo 对象
  6. 现在为了保存带有 PDF/A 合规性信息的 PDF 文件,请创建 PdfCoreOptions 类的实例并将其与 PdfOptions 对象的 PdfCoreOptions 属性相关联
  7. 最后调用Image类的Save(String)方法生成输出PDF文档
// 创建一个对象来启动许可
Aspose.Imaging.License license = new Aspose.Imaging.License();

// 提供许可证文件的路径
license.SetLicense("/Documents/Conholdate.Total.NET.lic");

// 在 Image 类的实例中加载现有图像(JPEG 类型)
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dataDir+"samsung_galaxy.jpg"))
{
  // create an instance of PdfOptions class
  Aspose.Imaging.ImageOptions.PdfOptions pdfOptions = new Aspose.Imaging.ImageOptions.PdfOptions();
  
  // create PdfDocumentInfo object and pass it to PdfOptions instance
  pdfOptions.PdfDocumentInfo = new Aspose.Imaging.FileFormats.Pdf.PdfDocumentInfo
  {
    // set author name for the resultant file
    Author = "Nayyer Shahbaz",
    Title = "JPEG converted to PDF",
    Subject = "Aspose.Imaging for .NET"
  };
  
  // set the PDF compliance as PDF/A-1a
  pdfOptions.PdfCoreOptions = new Aspose.Imaging.FileFormats.Pdf.PdfCoreOptions()
  {
    PdfCompliance = Aspose.Imaging.PdfComplianceVersion.PdfA1b
  };
  
  // save the resultant PDF document
  image.Save(dataDir + "_output.pdf", pdfOptions);
}

上述示例中使用的示例文件可以从以下链接下载

获得免费许可证

您可以申请免费的临时许可证来试用 API,没有任何评估限制。

结论

在本文中,我们讨论了 Aspose.Imaging for .NET 的各种功能,专门用于将 JPG 转换为 PNG 格式以及将其渲染为 PDF 格式。请注意,与上面讨论的相比,Aspose.Imaging for .NET 功能更强大,并提供了过多的选项。它使您的 .NET 应用程序能够绘制以及执行光栅和矢量图像的基本到高级处理。

此外,Aspose.Imaging for .NET 通过本机字节访问和一系列高效算法提供强大的图像压缩和高处理速度。它不仅可以操作、导出和转换图像,还可以让您使用像素操作和图形路径动态绘制对象。有关更多信息,请浏览产品 文档,如果您在使用 API 时遇到任何问题,请随时通过 产品支持论坛 联系。

也可以看看