Функции Azure — это бессерверные облачные службы, основанные на событиях. Вы можете использовать Aspose.Drawing for .NET API в функциях Azure для рисования векторной графики или текста в соответствии с вашими требованиями. В этой статье объясняется, как быстро и легко можно настроить API для использования в Функциях Azure.

Создание приложения функций Azure

Во-первых, создайте триггерную функцию HTTP из шаблона проекта функций Azure, как показано на следующем снимке экрана.

System.Drawing в функции Azure

Добавьте пакет NuGet Aspose.Drawing в проект

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.NET.lic с лицензионной информацией Aspose.Drawing в каталог проекта, откройте свойства этого файла в обозревателе решений и установите для параметра Копировать в выходной каталог значение Копировать всегда. Если у вас нет лицензии, вы можете запросить бесплатную пробную лицензию, чтобы протестировать API в полном объеме.

Опубликовать проект в Azure

Затем опубликуйте свой проект в Azure, как описано в Краткое руководство: создание первой функции в Azure с помощью Visual Studio.

Протестируйте функцию в Azure

В адресной строке браузера добавьте строку /api/Function1 к базовому URL-адресу и выполните запрос (полный запрос будет выглядеть как https://azurefunctionapp123456789.azurewebsites.net/api/Function1).

Наконец, вы увидите следующий результат рисования:

Aspose.Drawing в функции Azure

Вывод

В этой статье вы узнали, как работать с Aspose.Drawing for .NET API в функциях Azure. Пространство имен System.Drawing может иметь проблемы совместимости в функциях Azure, поэтому вы можете легко использовать Aspose.Drawing API без каких-либо проблем. Кроме того, вы всегда можете обратиться к нам на Форум бесплатной поддержки в случае возникновения каких-либо проблем.

Смотрите также