1. produkty
  2.   obraz
  3.   .NET
  4.   ImageProcessor  
 
  

Knihovna Open Source C# .NET pro manipulaci s obrázky

Číst, zapisovat, upravovat, měnit velikost a převádět obrázky PNG, JPEG, GIF a TIFF za běhu prostřednictvím bezplatného rozhraní .NET API.

ImageProcessor je bezplatná knihovna pro zpracování obrázků .NET s otevřeným zdrojovým kódem, která umožňuje počítačovým programátorům manipulovat s obrázky za běhu uvnitř jejich vlastních aplikací .NET. Knihovna je velmi rychlá, stabilní, rozšiřitelná, uživatelsky přívětivá a obsahuje skvělé funkce. Knihovna poskytuje plnou podporu pro práci s formáty souborů JPG, JPEG, PNG, GIF, PNG8 (animované i statické), BMP a TIFF.

Knihovna je převážně rozdělena na dvě dílčí knihovny. První knihovna je známá jako ImageProcessor a poskytuje plnou podporu pro práci s desktopem a aplikacemi. 2. knihovna ImageProcessor.Web je vytvořena pro ASP.NET a poskytuje plnou podporu pro práci s webovými aplikacemi. Budeme diskutovat především o prvním díle a o tom, jak jej mohou vývojáři využít ve svých aplikacích.

Previous Next

Začínáme s ImageProcessor

Na NuGet je k dispozici stabilní verze. ImageProcessor je a vždy bude podporován pouze na .NET Framework běžícím na operačním systému Windows. Nepokoušejte se prosím používat s .NET Core nebo NET 5+.

Nainstalujte ImageProcessor přes NuGet

NuGet\Install-Package ImageProcessor -Version number 

Aplikujte filtry na obrázky prostřednictvím knihovny C#

Open source knihovna ImageProcessor umožňuje vývojářům C# .NET snadno filtrovat obrázky uvnitř jejich vlastních aplikací. Použijte prosím třídu MatrixFilters k přiřazení správného filtru k vašim obrázkům. K dispozici je několik typů filtrů, které můžete použít na své snímky, například BlackWhite, Comic, Gotham, GreyScale, HiSatch, Invert, Lomograph, LoSatch, Polaroid a Sepia.

Přidejte k obrázku textový vodoznak

Pomocí open source knihovny ImageProcessor můžete snadno umístit obrázek nebo textový vodoznak kamkoli na obrázky. Knihovna poskytuje plnou podporu pro přidávání vodoznaku do obrázků pomocí několika řádků kódu. Požadovaná třída obsahuje všechny vlastnosti potřebné k přidání textového vodoznaku do obrázku. Podporuje barvu textu, výběr písma, velikost písma, styl, krytí, polohu, vržený stín a další.

Oříznout obrázky pomocí .NET

ImageProcessor dává vývojářům softwaru možnost oříznout aktuální obrázek na vlastní umístění a velikost. Oříznutí je nejdůležitější a přitom snadný proces, který je třeba vzít v úvahu při úpravě obrázků a fotografií. Poskytuje několik vlastností, které uživatelům pomáhají oříznout obrázky podle jejich potřeb. Například vlevo, nahoře, vpravo, dole a CropMode.

Oříznutí obrázků pomocí C# .NET


namespace ImageProcessor.Tests.Processing
{
    public class CropTests
    {
        private const string category = "Crop";
        [Fact]
        public void CropSettingsConstructorSetsOptions()
        {
            const int Left = 1;
            const int Top = 1;
            const int Right = 1;
            const int Bottom = 1;
            var expected = new CropOptions(Left, Top, Right, Bottom, CropMode.Percentage);
            Assert.Equal(expected.Left, Left);
            Assert.Equal(expected.Top, Top);
            Assert.Equal(expected.Right, Right);
            Assert.Equal(expected.Bottom, Bottom);
        }
        [Fact]
        public void CropSettingsConstructorChecksInput()
        {
            Assert.Throws(() => new CropOptions(-1, 0, 0, 0));
            Assert.Throws(() => new CropOptions(0, -1, 0, 0));
            Assert.Throws(() => new CropOptions(0, 0, -1, 0));
            Assert.Throws(() => new CropOptions(0, 0, 0, -1));
        }
        [Fact]
        public void CropConstructorSetsOptions()
        {
            var expected = new CropOptions(1, 2, 3, 4, CropMode.Percentage);
            var processor = new Crop(expected);
            Assert.Equal(expected, processor.Options);
        }
        [Fact]
        public void FactoryCanCropRectangle()
        {
            // Test our issue crop.
            TestFile file = TestFiles.Jpeg.EXIFCropIssue559;
            var bounds = new Rectangle(939, 439, 2778, 2778);
            using (var factory = new ImageFactory())
            {
                factory.Load(file.FullName)
                       .Crop(bounds)
                       .SaveAndCompare(file, category, bounds);
            }
        }
        [Fact]
        public void FactoryCanCropPercentile()
        {
            // Test our issue crop.
            TestFile file = TestFiles.Jpeg.Penguins;
            var settings = new CropOptions(15, 25, 10, 5, CropMode.Percentage);
            using (var factory = new ImageFactory())
            {
                factory.Load(file.FullName)
                       .Crop(settings)
                       .SaveAndCompare(file, category, settings);
            }
        }
    }
}            
 Čeština