1. Tuotteet
  2.   Kuva
  3.   .NET
  4.   ImageProcessor  
 
  

Avoimen lähdekoodin C# .NET Library for Images Manipulation

Lue, kirjoita, muokkaa, muuta kokoa ja muunna PNG-, JPEG-, GIF- ja TIFF-kuvia lennossa ilmaisen .NET API:n kautta.

ImageProcessor on ilmainen avoimen lähdekoodin .NET-kuvankäsittelykirjasto, jonka avulla tietokoneohjelmoijat voivat käsitellä kuvia lennossa omissa .NET-sovelluksissaan. Kirjasto on erittäin nopea, vakaa, laajennettava, käyttäjäystävällinen ja sisältää upeita ominaisuuksia. Kirjasto tarjoaa täyden tuen työskentelyyn JPG-, JPEG-, PNG-, GIF-, PNG8- (sekä animoitujen että staattisten), BMP- ja TIFF-tiedostomuotojen kanssa.

Kirjasto on jaettu pääosin kahteen alikirjastoon. Ensimmäinen kirjasto tunnetaan nimellä ImageProcessor, ja se tarjoaa täyden tuen työpöydän ja sovellusten kanssa työskentelemiseen. Toinen kirjasto ImageProcessor.Web on rakennettu ASP.NET:lle ja tarjoaa täyden tuen verkkosovellusten kanssa työskentelylle. Keskustelemme pääasiassa ensimmäisestä osasta ja siitä, kuinka kehittäjät voivat käyttää sitä sovelluksissaan.

Previous Next

ImageProcessorin käytön aloittaminen

Vakaa julkaisu on saatavilla NuGetistä. ImageProcessoria tuetaan ja tuetaan vain .NET Frameworkissa, joka toimii Windows-käyttöjärjestelmässä. Älä yritä käyttää .NET Coren tai NET 5+:n kanssa.

Asenna ImageProcessor NuGetin kautta

NuGet\Install-Package ImageProcessor -Version number 

Käytä suodattimia kuviin C#-kirjaston kautta

Avoimen lähdekoodin ImageProcessor-kirjaston avulla C#.NET-kehittäjä voi suodattaa kuvia helposti omissa sovelluksissaan. Käytä MatrixFilters-luokkaa määrittääksesi kuvillesi oikean suodattimen. Saatavilla on useita erilaisia suodattimia, joita voit käyttää kuviisi, kuten BlackWhite, Comic, Gotham, GreyScale, HiSatch, Invert, Lomograph, LoSatch, Polaroid ja Sepia.

Lisää tekstipohjainen vesileima kuvaan

Voit helposti sijoittaa kuvan tai tekstin vesileiman mihin tahansa kuviisi käyttämällä avoimen lähdekoodin ImageProcessor-kirjastoa. Kirjasto tarjoaa täyden tuen vesileiman lisäämiselle kuviin vain muutamalla koodirivillä. Vaadittu luokka sisältää kaikki ominaisuudet, joita tarvitaan tekstipohjaisen vesileiman lisäämiseen kuvaan. Se tukee tekstin värejä, fontin, fontin koon, tyylin, peittävyyden, sijainnin, varjon ja muiden valintaa.

Rajaa kuvia .NET:n avulla

ImageProcessor antaa ohjelmistokehittäjille mahdollisuuden rajata nykyinen kuva mukautettuun paikkaan ja kokoon. Rajaus on tärkein, mutta silti helppo prosessi, joka on otettava huomioon, kun muokkaat kuviasi. Se tarjoaa useita ominaisuuksia, joiden avulla käyttäjät voivat rajata kuvia tarpeidensa mukaan. Kuten vasen, ylä, oikea, alaosa ja CropMode.

Rajaa kuvia käyttämällä C#.NETiä


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