HTML 文件经常在互联网上使用。在某些情况下,我们可能需要将 HTML 页面转换为图像。在本文中,我们将学习如何在 C# 中将 HTML 转换为图像。我们将学习将 HTML 网页渲染为 JPGPNGBMPGIF 和其他流行的图像格式。

本文涵盖以下主题:

将 HTML 转换为图像的 C# API

我们将使用 Aspose.HTML for .NET 将 HTML 文件转换为 C# 中的图像。它允许开发人员在其 .NET 应用程序中使用 HTML 文档。它提供了广泛的用于解析、转换、编辑和呈现 HTML 文档的特性和功能。

下载 API 的 DLL 或使用 NuGet 安装它。

PM> Install-Package Aspose.Html

将 HTML 转换为图像 - 输入文件

首先,让我们检查基本的 HTML 文件,其中包含一些文本和图像,我们将在这些示例中将其用作输入文件。

<!DOCTYPE html>
<html>
<head>
<style>
body {
  text-align: center;
  color: black;
}
</style>
</head>
<body>
<h2>Welcome to HTML to Image C# Test Conversion</h2>
<p></p>
<img src="HTML to Image.png" alt="HTML to Image" style="width:300px">
</body>
</html>

在 C# 中将 HTML 图像转换为 JPG 图像

我们可以按照以下步骤将任何 HTML 网页转换为 JPG 图像:

  1. 使用 ImageSaveOptions 类初始化图像渲染选项。
  2. 设置页面大小或背景颜色。
  3. 之后,将 ImageFormat 指定为 JPG。
  4. 最后,调用ConvertHTML()方法将HTML转换为JPG。

以下代码示例展示了如何使用 C# 将 HTML 转换为 JPG 图像。

        // 设置页面尺寸 7x7 英寸并将背景颜色更改为浅灰色
        var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Jpeg)
        {
            PageSetup =
{
    AnyPage = new Aspose.Html.Drawing.Page()
    {
        Size = new Aspose.Html.Drawing.Size(Aspose.Html.Drawing.Length.FromInches(7), Aspose.Html.Drawing.Length.FromInches(7))
    }
},
            BackgroundColor = System.Drawing.Color.LightGray,
        };
        // 调用 ConvertHTML 将“document.html”转换为 jpeg 图像
        Aspose.Html.Converters.Converter.ConvertHTML(dataDir + "HTMLtoImage.html", options, dataDir + "HTMLtoJPG.jpg");

另外,我们看一下生成的输出 JPG 图像:

HTML 到 JPG 图像 C#

此外,您可以从属性中注意到图像的背景颜色和大小。分辨率为 300 dpi,因此图像的宽度和长度为 2100,因为它的长度和宽度均为 7 英寸。

在 C# 中将 HTML 转换为 PNG 图像

PNG 图像文件是比 JPG 图像更高级的文件。例如,与 JPG 图像不同,它们可以具有透明背景。因此,有时最好将 HTML 转换为 PNG 图像,因为它是一种流行且兼容的文件格式。

我们可以按照前面提到的步骤将 HTML 转换为 PNG。然而,我们只需要在步骤#3 中指定 ImageFormat.Png 即可。

以下代码片段展示了如何在 C# 中将 HTML 文件转换为 PNG 图像:

// 从 html 文件初始化 HTML 文档
using (var document = new Aspose.Html.HTMLDocument(dataDir + "document.html"))
{
// 初始化图像保存选项 
var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Png);

// 将 HTML 转换为 PNG
Aspose.Html.Converters.Converter.ConvertHTML(document, options, dataDir + "output.png");
}

C# HTML 到 BMP 图像转换器

同样,我们可以按照前面提到的步骤将 HTML 转换为 BMP。然而,我们只需要在步骤#3 中指定ImageFormat.Bmp。

以下代码示例展示了如何使用 C# 将 HTML 图像转换为 BMP 图像:

// 从 html 文件初始化 HTML 文档
using (var document = new Aspose.Html.HTMLDocument(dataDir + "document.html"))
{
    // 初始化图像保存选项 
    var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Bmp);

    // 将 HTML 转换为 BMP
    Aspose.Html.Converters.Converter.ConvertHTML(document, options, dataDir + "output.bmp");
}

在 C# 中将 HTML 转换为 GIF 图像

我们还可以按照前面提到的步骤将 HTML 转换为 GIF。但是,我们只需要在步骤 #3 中指定 ImageFormat.Gif。

下面的代码展示了如何在 C# 中将 HTML 图像转换为 GIF 图像。

// 从 html 文件初始化 HTML 文档
using (var document = new Aspose.Html.HTMLDocument(dataDir + "document.html"))
{
    // 初始化图像保存选项 
    var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Gif);

    // 将 HTML 转换为 GIF
    Aspose.Html.Converters.Converter.ConvertHTML(document, options, dataDir + "output.gif");
}

获取免费许可证

请获取免费临时许可证来试用该库,而不受评估限制。

HTML 到图像 - 学习资源

除了将 HTML 网页转换为图像之外,还可以使用以下资源探索该库的各种其他功能:

结论

总而言之,我们学习了如何在 .NET 应用程序中使用 C# 将 HTML 转换为 JPG、PNG、BMP 和 GIF。 HTML 到这些图像格式的转换是 Aspose.HTML for .NET API 最重要的功能之一。而且,转换或渲染结果具有最高的保真度和效率。这就是为什么 API 最适合转换、编辑或操作 HTML 文件。此外,我们期待您的回复。如果需要任何帮助,请随时通过免费支持论坛与我们联系。

也可以看看

信息:Aspose Text to GIF 转换器允许您只需输入即可创建有趣的动画。