Azure 函数是基于事件的无服务器云服务。您可以在 Azure 函数中使用 Aspose.Drawing for .NET API 来根据您的要求绘制矢量图形或文本。本文介绍了如何快速轻松地配置 API 以在 Azure Functions 中使用:
创建 Azure Functions 应用程序
首先,请从 Azure Functions 项目模板创建一个 HTTP 触发函数,如以下屏幕截图所示:
将 Aspose.Drawing NuGet 包添加到项目中
Aspose.Drawing for .NET API 托管在 NuGet 库上。请使用用户界面或使用以下安装命令在项目中添加依赖项:
PM> Install-Package Aspose.Drawing
添加用于绘制图像的代码
然后,您需要添加少量代码来绘制图像,因为 API 会处理次要细节。请将以下代码替换为 Function1.cs 文件以绘制渐变并返回 HTTP 请求的输出图像:
// 用于绘制矢量图形和文本的 C# 代码,并在 Azure 函数中创建图像以在云上运行。
using System.IO;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
using Microsoft.AspNetCore.Http;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
namespace AzureFunctionApp1
{
public static class Function1
{
[FunctionName("Function1")]
public static async Task<IActionResult> Run([HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req, ExecutionContext context)
{
Aspose.Drawing.License license = new Aspose.Drawing.License();
license.SetLicense(Path.Combine(context.FunctionAppDirectory, "Aspose.Drawing.NET.lic"));
return new FileStreamResult(Draw(ImageFormat.Png), "image/png");
}
static Stream Draw(ImageFormat format)
{
Bitmap bitmap = new Bitmap(1000, 800, PixelFormat.Format32bppPArgb);
Graphics graphics = Graphics.FromImage(bitmap);
Brush brush = new LinearGradientBrush(new Point(0, 0), new Point(1000, 800), Color.Red, Color.Blue);
graphics.FillEllipse(brush, 100, 100, 800, 600);
MemoryStream result = new MemoryStream();
bitmap.Save(result, format);
result.Seek(0, SeekOrigin.Begin);
return result;
}
}
}
现在,将带有 Aspose.Drawing 许可信息的 Aspose.Drawing.NET.lic 许可文件复制到项目目录,从解决方案资源管理器中打开此文件属性并将复制到输出目录设置为始终复制。如果您没有许可证,那么您可以申请免费评估许可证来测试 API 的全部功能。
将项目发布到 Azure
然后,按照 快速入门:使用 Visual Studio 在 Azure 中创建您的第一个函数 中的说明将您的项目发布到 Azure。
在 Azure 中测试函数
在浏览器的地址栏中,将字符串 /api/Function1 附加到基本 URL 并运行请求(完整的请求将类似于 https://azurefunctionapp123456789.azurewebsites.net/api/Function1)。
最后,您将看到以下绘图结果:
结论
在本文中,您了解了如何在 Azure 函数中使用 Aspose.Drawing for .NET API。 System.Drawing 命名空间在 Azure 函数中可能存在兼容性问题,因此您可以轻松使用 Aspose.Drawing API 而不会出现任何问题。此外,如果有任何问题,您可以随时通过 免费支持论坛 与我们联系。