Funkcje platformy Azure to oparte na zdarzeniach, bezserwerowe usługi w chmurze. Możesz użyć Aspose.Drawing for .NET API w Azure Functions do rysowania grafiki wektorowej lub tekstu zgodnie z własnymi wymaganiami. W tym artykule wyjaśniono, jak szybko i łatwo można skonfigurować interfejs API do użycia w Azure Functions:

Utwórz aplikację usługi Azure Functions

Najpierw utwórz funkcję wyzwalacza HTTP z szablonu projektu Azure Functions, jak pokazano na poniższym zrzucie ekranu:

System.Drawing w funkcji platformy Azure

Dodaj pakiet Aspose.Drawing NuGet do projektu

Aspose.Drawing for .NET API jest hostowane w galerii NuGet. Dodaj zależność w projekcie za pomocą interfejsu użytkownika lub za pomocą poniższego polecenia instalacji:

PM> Install-Package Aspose.Drawing

Dodaj kod do rysowania obrazu

Następnie musisz dodać trochę kodu do rysowania obrazu, ponieważ interfejs API dba o drobne szczegóły. Zamień poniższy kod na plik Function1.cs w celu narysowania gradientu i zwrócenia obrazu wyjściowego dla żądania HTTP:

// Kod C# do rysowania grafiki wektorowej i tekstu oraz tworzenia obrazu w funkcji platformy Azure do uruchamiania w chmurze.

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;
        }
    }
}

Teraz skopiuj plik licencji Aspose.Drawing.NET.lic z informacjami o licencji Aspose.Drawing do katalogu projektu, otwórz właściwości tego pliku w Eksploratorze rozwiązań i ustaw opcję Kopiuj do katalogu wyjściowego na Kopiuj zawsze. Jeśli nie masz licencji, możesz poprosić o bezpłatną licencję ewaluacyjną, aby przetestować interfejs API w pełni.

Opublikuj projekt na platformie Azure

Następnie opublikuj swój projekt na platformie Azure zgodnie z opisem w artykule Szybki start: tworzenie pierwszej funkcji na platformie Azure przy użyciu programu Visual Studio.

Przetestuj funkcję na platformie Azure

W pasku adresu przeglądarki dołącz łańcuch /api/Function1 do podstawowego adresu URL i uruchom żądanie (pełne żądanie będzie wyglądać tak: https://azurefunctionapp123456789.azurewebsites.net/api/Function1).

Na koniec zobaczysz następujący wynik rysowania:

Aspose.Drawing w funkcji platformy Azure

Wniosek

W tym artykule nauczyłeś się, jak pracować z Aspose.Drawing for .NET API w Azure Functions. Przestrzeń nazw System.Drawing może mieć problemy ze zgodnością w funkcjach platformy Azure, dzięki czemu można łatwo używać interfejsu API Aspose.Drawing bez żadnych problemów. Ponadto w razie jakichkolwiek wątpliwości zawsze możesz skontaktować się z nami na bezpłatnym forum pomocy technicznej.

Zobacz też