změnit velikost obrázků v c#

Často dostáváme obrázky s velikostí, která nesplňuje naše požadavky, a proto je musíme odpovídajícím způsobem změnit. V tomto článku se dozvíte, jak změnit velikost obrázků v C# z vašich aplikací .NET. Navíc si s pomocí ukázek kódu C# ukážeme, jak lze měnit velikost rastrových a vektorových obrázků.

Změna velikosti obrázků v C# - Instalace API

Chcete-li změnit velikost obrázků. použijeme Aspose.Imaging for .NET. Jedná se o výkonné rozhraní API pro zpracování obrázků pro manipulaci s různými typy rastrových a vektorových obrázků. Můžete si stáhnout DLL API nebo ji nainstalovat pomocí NuGet.

PM> Install-Package Aspose.Imaging

Změna velikosti rastrových obrázků v C#

Existují dva způsoby změny velikosti rastrových obrázků (PNG, GIF, JPEG atd.): jednoduchá změna velikosti a změna velikosti pomocí typu změny velikosti. Při jednoduché změně velikosti se velikost obrázků změní zadáním výšky a šířky. Zatímco druhá metoda používá různé techniky změny velikosti. Následující části ukazují, jak změnit velikost obrázku pomocí každé z výše uvedených metod.

Jednoduchá změna velikosti obrázku v C#

Následují kroky ke změně velikosti obrázku v C#.

Následující ukázka kódu ukazuje, jak změnit velikost obrázku v aplikacích .NET.

// Načíst obrázek
using (Image image = Image.Load("aspose-logo.jpg"))
{
    // Změňte velikost obrázku a uložte obrázek se změněnou velikostí
    image.Resize(300, 300);
    image.Save("SimpleResizing_out.jpg");
}

C# Změna velikosti obrázku pomocí typu změny velikosti

Výčet ResizeType se používá k určení technik změny velikosti, které můžete použít podle svých požadavků. Úplný seznam podporovaných typů změny velikosti je k dispozici zde. Následují kroky ke změně velikosti obrázku pomocí konkrétní techniky změny velikosti.

Následující ukázka kódu změní velikost obrázku pomocí konkrétní techniky změny velikosti.

// Načíst obrázek
using (Image image = Image.Load("aspose-logo.jpg"))
{
    // Změňte velikost obrázku a uložte obrázek se změněnou velikostí
    image.Resize(300, 300, ResizeType.LanczosResample);
    image.Save("SimpleResizing_out.jpg");
}

Proporcionální změna velikosti obrázku v C#

Změna velikosti obrázků zadáním výšky a šířky může mít za následek zmenšení nebo zmenšení obrázku. Proto musíte poměr stran vypočítat ručně. Jakýkoli nesprávný výpočet poměru stran však může vést k roztažení obrazu. Chcete-li se těmto problémům vyhnout, můžete použít proporcionální změnu velikosti. Níže jsou uvedeny kroky, jak toho dosáhnout.

V případě, že chcete použít jakýkoli konkrétní typ změny velikosti při proporcionální změně velikosti obrázků, použijte metody přetížení Image.ResizeWidthProportionally(Int32, ResizeType) a Image.ResizeHeightProportionally(Int32, ResizeType).

Následující ukázka kódu ukazuje, jak proporcionálně změnit velikost obrázku pomocí C#.

// Načíst obrázek
using (Image image = Image.Load("aspose-logo.png"))
{
    // Uložte data obrázku do mezipaměti
    if (!image.IsCached)
    {
        image.CacheData();
    }
    
    // Zadejte šířku a výšku
    int newWidth = image.Width / 2;
    image.ResizeWidthProportionally(newWidth);
    int newHeight = image.Height / 2;
    image.ResizeHeightProportionally(newHeight);
    
    // Uložit obrázek
    image.Save("ResizeImageProportionally_out.png");
}

Změna velikosti vektorových obrázků v C#

Aspose.Imaging for .NET také umožňuje změnit velikost vektorových obrázků a uložit je ve formátu rastrového obrázku. Následující ukázka kódu ukazuje, jak změnit velikost obrázku SVG a uložit výstup ve formátu PNG.

// Načíst obrázek
using (Image image = Image.Load("image.svg"))
 {
    // Změňte velikost obrázku jako PNG
    image.Resize(image.Width * 10,image.Height * 15);
    image.Save("Logotype_10_15.png", new PngOptions()
    {
        VectorRasterizationOptions = new SvgRasterizationOptions()
    });
 }

C# Změna velikosti obrázků s bezplatnou licencí

Můžete získat bezplatnou dočasnou licenci ke změně velikosti obrázků bez omezení hodnocení.

Závěr

V tomto článku jste se naučili, jak změnit velikost obrázků programově v C#. Kromě toho ukázky kódu ukázaly, jak provést jednoduchou změnu velikosti obrázků nebo změnu velikosti pomocí určitého typu. Také jsme se zabývali tím, jak se vyhnout ručnímu výpočtu poměru stran při změně velikosti obrázků. Kromě toho je na konci diskutována také změna velikosti vektorových obrázků. Kromě toho můžete prozkoumat více o rozhraní API pro zpracování obrázků .NET pomocí dokumentace. Také si můžete stáhnout kompletní balíček ukázek zdrojového kódu z GitHub. V případě jakýchkoliv dotazů nás můžete kontaktovat na našem fóru.

Viz také