通过 C# 转到 APNG
构建您自己的 .NET 应用程序以使用服务器端 API 合并 APNG 文件。
如何使用 C# 合并 APNG 文件
如果您想让您的创造力尽情发挥,那么现在就是使用图像拼贴的时候了。即使源文件格式不同,此功能也允许您合并照片和图像。吸引人们注意您的作品集的一个好方法是使用带有重复图像或图案的照片壁纸。在这种情况下,可以在水平和垂直方向上组合图像。如果您需要演示处理文件的结果,您可以轻松合并两个图像:应用照片效果之前和之后。为了合并 APNG 文件,我们将使用 Aspose.Imaging for .NET API 是一个功能丰富、功能强大 易于使用的 C# 平台图像处理和转换 API。打开 NuGet 包管理器,搜索 Aspose.Imaging 并安装。您还可以从包管理器控制台使用以下命令。
包管理器控制台命令
PM> Install-Package Aspose.Imaging
通过 C# 合并 APNG 的步骤
你需要 aspose.imaging.dll 在您自己的环境中尝试以下工作流程。
- 使用 Image.Load 方法加载 APNG 文件
- 将图像组合成新图像
- 以 Aspose.Imaging 支持的格式将合并后的图像保存到光盘
系统要求
所有主要操作系统都支持 .NET 的 Aspose.Imaging。只需确保您具有以下先决条件。
- Microsoft Windows 或具有 .NET Framework、.NET Core、Windows 应用程序、ASP.NET Web 应用程序的兼容操作系统。
- Microsoft Visual Studio 等开发环境。
- 项目中引用的 Aspose.Imaging for .NET。
合并 APNG 图像 - .NET
using Aspose.Imaging; | |
using Aspose.Imaging.FileFormats.Png; | |
using Aspose.Imaging.FileFormats.Tiff; | |
using Aspose.Imaging.FileFormats.Tiff.Enums; | |
using Aspose.Imaging.ImageOptions; | |
using Aspose.Imaging.Sources; | |
using System; | |
using System.Collections.Generic; | |
using System.IO; | |
string templatesFolder = @"c:\Users\USER\Downloads\templates\"; | |
string dataDir = templatesFolder; | |
var images = new List<Image>(); | |
var singles = new List<Image>(); | |
string[] files = new string[] { "template.png", "template.jpg" }; | |
int maxWidth = 0; | |
int maxHeight = 0; | |
foreach (var fileName in files) | |
{ | |
var image = Image.Load(dataDir + fileName); | |
if (image.Width > maxWidth) | |
{ | |
maxWidth = image.Width; | |
} | |
if (image.Height > maxHeight) | |
{ | |
maxHeight = image.Height; | |
} | |
if (image is VectorImage) | |
{ | |
throw new NotImplementedException("Vector images is not supported by these code snippet. Please look at vector to booklet example to get the iplementation idea."); | |
} | |
if (image is IMultipageImage) | |
{ | |
foreach (var page in ((IMultipageImage)image).Pages) | |
{ | |
singles.Add(page); | |
} | |
} | |
else | |
{ | |
singles.Add(image); | |
} | |
images.Add(image); | |
} | |
var outputPath = Path.Combine(dataDir, "result.tiff"); | |
var outputPath2 = Path.Combine(dataDir, "result.pdf"); | |
using (TiffImage tiffImage = new TiffImage(new TiffFrame((RasterImage)singles[0]))) | |
{ | |
for (int i = 1; i < singles.Count; i++) | |
{ | |
tiffImage.AddPage((RasterImage)singles[i]); | |
} | |
// Save as muti frame tiff | |
tiffImage.Save(outputPath, new TiffOptions(TiffExpectedFormat.TiffJpegRgb)); | |
// Worry about Pdf ? That's it! | |
tiffImage.Save(outputPath2, new PdfOptions()); | |
} | |
images.ForEach(image => image.Dispose()); | |
File.Delete(outputPath); | |
File.Delete(outputPath2); |
关于 .NET API 的 Aspose.Imaging
Aspose.Imaging API 是一种图像处理解决方案,用于在应用程序中创建、修改、绘制或转换图像(照片)。它提供:跨平台的图像处理,包括但不限于各种图像格式之间的转换(包括统一的多页或多帧图像处理)、绘图等修改、使用图形基元、转换(调整大小、裁剪、翻转和旋转) 、二值化、灰度、调整)、高级图像处理功能(过滤、抖动、遮罩、去偏斜)和内存优化策略。它是一个独立的库,不依赖任何软件进行图像操作。可以在项目中使用原生 API 轻松添加高性能图像转换功能。这些是 100% 私有的本地 API,图像在您的服务器上处理。通过在线应用合并 APNG
通过访问我们的 Live Demos 网站 合并 APNG 文档。 现场演示有以下好处
APNG 什么是 APNG 文件格式
具有 .apng(动画便携式网络图形)扩展名的文件是一种光栅图形格式,是便携式网络图形 (PNG) 的非官方扩展名。它由表示动画序列的多个帧(每个 PNG 图像)组成。这提供了与 GIF 文件类似的可视化效果。 APNG 文件支持 24 位图像和 8 位透明度。 APNG 向后兼容非动画 GIF 文件。 APNG 文件使用相同的 .png 扩展名,可以由 Mozilla Firefox、支持 APNG 的 Chrome、iOS 10 的 iMessage 应用程序等应用程序打开。
阅读更多其他支持的合并格式
使用 C#,可以轻松合并不同的格式,包括。