在 ASP.NET Core Web 应用程序中使用 Aspose.Drawing

在本文中,我们将学习如何在带有 Razor 页面的 ASP.NET Core Web 应用程序中创建和显示矢量图形。为了创建令人惊叹的矢量图形,我们将使用 Aspose.Drawing 库。在本分步指南中,我们将引导您完成将 Aspose.Drawing 集成到 ASP.NET Core Web 应用程序中的过程。

了解 .NET 的 Aspose.Drawing

Aspose.Drawing for .NET 是一个用于绘制矢量图形的跨平台 2D 图形库。它使开发人员能够以编程方式处理矢量图形。该库允许您在光栅图像上渲染矢量图形,例如直线、曲线、图形以及文本。然后,图像可以以所有常用的图形格式保存,包括 BMPPNGJPEGGIFTIFF

如何在 ASP.NET Core 网页中创建和显示矢量图形

我们可以按照以下步骤在 ASP.NET Core Web 应用程序中创建和显示矢量图形:

创建 ASP.NET Core Web 应用程序项目

  • 创建一个新项目并选择 ASP.NET Core Web App 项目模板。
Select the project template.

Select the project template.

  • 之后,写下项目名称并进入下一步。

  • 最后,选择框架.NET 7.0(Standard Term Support),选中Configure for HTTPS选项,然后单击Create按钮创建项目。

选择项目框架

选择项目框架

添加Aspose.Drawing NuGet包

安装 Aspose.Drawing for .NET

安装 Aspose.Drawing for .NET

添加图像绘制代码

  • 打开 Pages\Index.cshtml.cs 并将其内容替换为以下脚本。
using Microsoft.AspNetCore.Mvc.RazorPages;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
using System.Drawing;

namespace AsposeDrawingWebApplication.Pages
{
    public class IndexModel : PageModel
    {
        private readonly ILogger<IndexModel> _logger;
        
        public string imageSrc { get; set; }

        public IndexModel(ILogger<IndexModel> logger)
        {
            _logger = logger;
        }
        public void OnGet()
        {
            imageSrc = "data:image/png;base64, " + Convert.ToBase64String(Draw(ImageFormat.Png).ToArray());
        }

        static MemoryStream Draw(ImageFormat format)
        {
            // 此代码示例演示了如何绘制区域。
            // 创建位图
            Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);

            // 位图的初始图形
            Graphics graphics = Graphics.FromImage(bitmap);
            graphics.SmoothingMode = SmoothingMode.AntiAlias;

            // 初始化图形路径
            GraphicsPath path = new GraphicsPath();

            // 添加多边形
            path.AddPolygon(new Point[] { new Point(100, 400), new Point(500, 100), new Point(900, 400), new Point(500, 700) });

            // 初始化一个区域
            Region region = new Region(path);

            // 内部图形路径
            GraphicsPath innerPath = new GraphicsPath();

            // 添加一个矩形
            innerPath.AddRectangle(new Rectangle(300, 300, 400, 200));

            // 排除内部路径
            region.Exclude(innerPath);

            // 定义实心画笔
            Brush brush = new SolidBrush(Color.Green);

            // 填充区域
            graphics.FillRegion(brush, region);

            MemoryStream result = new MemoryStream();
            bitmap.Save(result, format);
            result.Seek(0, SeekOrigin.Begin);
            return result;
        }
    }
}
  • 打开 Pages\Index.cshtml 并将其内容替换为以下脚本。
@page
@model IndexModel
@{
    ViewData["Title"] = "Home page";
}

<div class="text-center">
    <h1 class="display-4">Welcome</h1>
    
    <img src="@Model.imageSrc" />
</div>

添加Aspose.Drawing许可证文件

  • 将包含 Aspose.Drawing 许可信息的 Aspose.Drawing.NET.lic 文件复制到项目目录。从解决方案资源管理器中打开此文件属性,并将“生成操作”设置为“嵌入式资源”。

  • 之后,打开Program.cs并添加以下代码以设置Aspose.Drawing许可证。

// 执照
System.Drawing.AsposeDrawing.执照 license = new System.Drawing.AsposeDrawing.执照();
license.Set执照("Aspose.Drawing.NET.lic");
  • 最后,运行应用程序。
输出

输出

下载源代码

您可以从 GitHub 下载完整的 ASP .NET Web 应用程序源代码。

获取免费许可证

如果您想不受任何限制地尝试该库,您可以获得免费的临时许可证

Aspose.Drawing – 免费学习资源

您可以使用以下资源探索 Aspose.Drawing 库的各种其他功能:

结论

总之,Aspose.Drawing 对于希望将动态且具有视觉吸引力的矢量图形合并到其 Web 项目中的 ASP.NET Web 开发人员来说是一项宝贵的资产。通过遵循提供的步骤,您将使用 Aspose.Drawing 解锁 Web 开发的新可能性。如有任何疑问,请通过我们的免费支持论坛与我们联系。

也可以看看