Azure-funktioner är händelsebaserade, serverlösa molntjänster. Du kan använda Aspose.Drawing för .NET API i Azure-funktioner för att rita vektorgrafik eller text enligt dina krav. Den här artikeln förklarar hur snabbt och enkelt du kan konfigurera API:et för användning i Azure Functions:

Skapa en Azure Functions-applikation

Skapa först en HTTP-utlösarfunktion från Azure-funktionsprojektmallen som visas i följande skärmdump:

System.Drawing i Azure Function

Lägg till Aspose.Drawing NuGet Package till projektet

Aspose.Drawing for .NET API finns på NuGet-galleriet. Lägg till beroendet i projektet med användargränssnittet eller använd installationskommandot nedan:

PM> Install-Package Aspose.Drawing

Lägg till kod för att rita en bild

Sedan måste du lägga till lite kod för att rita en bild eftersom API tar hand om de mindre detaljerna. Byt ut följande kod till filen Function1.cs för att rita en gradient och returnera utdatabilden för en HTTP-begäran:

// C#-kod för att rita vektorgrafik och text, och skapa bild i din Azure-funktion för att köras på molnet.

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

Kopiera nu din Aspose.Drawing.NET.lic-licensfil med Aspose.Drawing-licensinformation till projektkatalogen, öppna denna filegenskaper från Solution Explorer och ställ in Kopiera till Output Directory till Kopiera alltid. Om du inte har licensen kan du begära en gratis utvärderingslicens för att testa API:et i dess fulla kapacitet.

Publicera projektet till Azure

Publicera sedan ditt projekt till Azure enligt beskrivningen i Snabbstart: Skapa din första funktion i Azure med Visual Studio.

Testa funktionen i Azure

I adressfältet i en webbläsare lägger du till strängen /api/Function1 till bas-URL:n och kör begäran (den fullständiga begäran kommer att se ut som https://azurefunctionapp123456789.azurewebsites.net/api/Function1).

Slutligen kommer du att se följande ritningsresultat:

Aspose.Drawing i Azure Function

Slutsats

I den här artikeln har du lärt dig hur du arbetar med Aspose.Drawing för .NET API i Azure-funktioner. System.Drawing namnutrymme kan ha kompatibilitetsproblem i Azure-funktioner så att du enkelt kan använda Aspose.Drawing API utan några problem. Dessutom kan du alltid kontakta oss på Free Support Forum vid eventuella problem.

Se även