Om du arbetar med ett bildredigeringsprogram och behöver en enkel att implementera men ändå exakt beskärningsmekanism, kommer den här artikeln att hjälpa dig mycket. För i den här artikeln kommer du att lära dig hur du beskär en bild i C# i några enkla steg.

Beskär bilder i C#

Bildredigering är ganska vanligt nuförtiden och i olika fall behöver vi manipulera bilderna för att få önskat resultat. Nyligen har vi täckt hur man ändrar storlek, roterar och vänder bilder programmatiskt. Idag ska vi visa dig hur du beskär bilder med C# i dina .NET-applikationer. Vi kommer att diskutera hur man utför bildbeskärning med hjälp av skiftvärden eller med en rektangel.

Beskär bilder i C# - API-installation

För bildbeskärning kommer vi att använda Aspose.Imaging for .NET. Det är ett funktionsrikt API för att sömlöst manipulera bilderna i populära format. Du kan ladda ner API:et eller installera det i dina .NET-applikationer med NuGet.

PM> Install-Package Aspose.Imaging

Hur man beskär en bild i C#

Aspose.Imaging för .NET erbjuder två sätt att beskära en bild. I den första metoden måste vi tillhandahålla vänster-, höger-, topp- och bottenskiftvärden. Medan vi i den andra metoden definierar en rektangel för att beskära ett visst område av en bild.

I de följande avsnitten kommer vi att visa hur man använder båda de ovan nämnda metoderna för att beskära bilder i C#.

Beskär bilder med Shift-värden i C#

Följande är stegen för att beskära en bild med skiftvärden i C#.

  • Ladda först in bilden i ett RasterImage-objekt med metoden Image.Load().
  • Cachelagra bilden för bättre prestanda.
  • Definiera vänster-, höger-, topp- och bottenskiftvärden.
  • Skicka skiftvärdena till metoden RasterImage.Crop() för att beskära bilden.
  • Spara den beskurna bilden med metoden RasterImage.Save().

Följande kodexempel visar hur man beskär en bild i C#.

// Ladda bilden som ska beskäras.
using (RasterImage rasterImage = (RasterImage)Image.Load("image.png"))
{
    // Innan beskärning bör bilden cachelagras för bättre prestanda.
    if (!rasterImage.IsCached)
    {
        rasterImage.CacheData();
    }

    // Definiera skiftvärden för alla fyra sidorna.
    int leftShift = 10;
    int rightShift = 10;
    int topShift = 50;
    int bottomShift = 50;

    // Baserat på skiftvärdena, tillämpa beskärningen på bilden. Beskärningsmetoden kommer att flytta bildgränserna mot mitten av bilden.
    rasterImage.Crop(leftShift, rightShift, topShift, bottomShift);

    // Spara beskuren bild.
    rasterImage.Save("cropped.png");
}

Följande är ingångsbilden som vi använde för beskärning.

beskära bild i C#

Nedan är den resulterande beskurna bilden.

bildbeskärning i C#

C# Bildbeskärning med rektangel

Du kan också definiera en rektangel för att beskära önskat område av en bild. Följande steg demonstrerar bildbeskärning med en rektangel i C#.

Följande kodexempel visar hur man utför bildbeskärning med en rektangel i C#.

// Ladda bilden.
using (RasterImage rasterImage = (RasterImage)Image.Load("image.png"))
{
    // Innan beskärning bör bilden cachelagras för bättre prestanda.
    if (!rasterImage.IsCached)
    {
        rasterImage.CacheData();
    }

    // Skapa en instans av klassen Rectangle med önskad storlek och beskära bilden.
    Rectangle rectangle = new Rectangle(20, 20, 20, 20);             
    rasterImage.Crop(rectangle);

    // Spara beskuren bild.
    rasterImage.Save("cropped.png");
}

Beskär bilder i C# med en gratis licens

Du kan få en gratis tillfällig licens och beskära bilder utan utvärderingsbegränsningar.

Bygg ditt C# .NET-program för beskärning av bilder

I den här artikeln har du lärt dig att beskära bilder i C#. Vi har demonstrerat ett par sätt att beskära en bild med hjälp av skiftvärden eller med en rektangel. Nu kan du enkelt bygga ditt bildbeskärningsprogram eller förbättra det befintliga programmets bildredigeringsmöjligheter. För att utforska mer om C#s bildredigerings-API kan du besöka dokumentationen. Du kan också dela dina frågor med oss via vårt forum.

Se även