1. Produktai
  2.   Vaizdas
  3.   .NET
  4.   ImageProcessor  
 
  

Atvirojo kodo C# .NET biblioteka vaizdų manipuliavimui

Skaitykite, rašykite, keiskite, keiskite dydį ir konvertuokite PNG, JPEG, GIF ir TIFF vaizdus skrydžio metu naudodami nemokamą .NET API.

„ImageProcessor“ yra nemokama atvirojo kodo .NET vaizdo apdorojimo biblioteka, leidžianti kompiuterių programuotojams skrydžio metu manipuliuoti vaizdais savo .NET programose. Biblioteka yra labai greita, stabili, plečiama, patogi vartotojui ir joje yra puikių funkcijų. Biblioteka visapusiškai palaiko darbą su JPG, JPEG, PNG, GIF, PNG8 (tiek animaciniais, tiek statiniais), BMP ir TIFF failų formatais.

Biblioteka daugiausia suskirstyta į dvi papildomas bibliotekas. Pirmoji biblioteka yra žinoma kaip „ImageProcessor“ ir suteikia visišką palaikymą darbui su darbalaukiu ir programomis. 2-oji biblioteka ImageProcessor.Web sukurta ASP.NET ir suteikia visišką palaikymą dirbant su žiniatinklio programomis. Daugiausia kalbėsime apie pirmąją dalį ir kaip kūrėjai gali ją panaudoti savo programose.

Previous Next

Darbo su ImageProcessor pradžia

Stabilus leidimas pasiekiamas NuGet. „ImageProcessor“ yra ir bus palaikoma tik „.NET Framework“, veikiančioje „Windows“ OS. Nebandykite naudoti su .NET Core arba NET 5+.

Įdiekite „ImageProcessor“ per „NuGet“.

NuGet\Install-Package ImageProcessor -Version number 

Taikykite filtrus vaizdams per C# biblioteką

Atvirojo kodo ImageProcessor biblioteka leidžia C# .NET kūrėjams lengvai filtruoti vaizdus savo programose. Naudokite MatrixFilters klasę, kad savo vaizdams priskirtumėte tinkamą filtrą. Yra keletas filtrų tipų, kuriuos galite pritaikyti savo vaizdams, pvz., BlackWhite, Comic, Gotham, GreyScale, HiSatch, Invert, Lomograph, LoSatch, Polaroid ir Sepia.

Pridėkite tekstinį vandens ženklą prie vaizdo

Naudodami atvirojo kodo „ImageProcessor“ biblioteką, bet kurioje savo vaizdų vietoje galite lengvai įdėti vaizdą arba teksto vandens ženklą. Biblioteka visapusiškai palaiko vandens ženklų pridėjimą prie vaizdų naudojant tik kelias kodo eilutes. Reikalingoje klasėje yra visos savybės, reikalingos norint pridėti tekstinį vandens ženklą prie vaizdo. Jis palaiko teksto spalvą, pasirinkite šriftą, šrifto dydį, stilių, neskaidrumą, padėtį, šešėlį ir dar daugiau.

Apkarpykite vaizdus naudodami .NET

„ImageProcessor“ suteikia programinės įrangos kūrėjams galimybę apkarpyti dabartinį vaizdą į pasirinktą vietą ir dydį. Apkarpymas yra svarbiausias, bet paprastas procesas, į kurį reikia atsižvelgti redaguojant vaizdus ir nuotraukas. Jame yra keletas ypatybių, kurios padeda vartotojams apkarpyti vaizdus pagal jų poreikius. Tokie kaip kairėje, viršuje, dešinėje, apačioje ir CropMode.

Apkarpykite vaizdus naudodami 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);
            }
        }
    }
}            
 Lietuvių