1. Produse
  2.   Imagine
  3.   .NET
  4.   ImageProcessor  
 
  

Bibliotecă C# .NET cu sursă deschisă pentru manipularea imaginilor

Citiți, scrieți, modificați, redimensionați și convertiți imagini PNG, JPEG, GIF și TIFF din mers prin API-ul .NET gratuit.

ImageProcessor este o bibliotecă gratuită de procesare a imaginilor .NET cu sursă deschisă, care permite programatorilor să manipuleze imaginile din mers în interiorul propriilor aplicații .NET. Biblioteca este foarte rapidă, stabilă, extensibilă, ușor de utilizat și conține funcții grozave. Biblioteca oferă suport complet pentru lucrul cu formatele de fișiere JPG, JPEG, PNG, GIF, PNG8 (atât animate, cât și statice), BMP și TIFF.

Biblioteca este împărțită în principal în două sub-biblioteci. Prima bibliotecă este cunoscută ca ImageProcessor și oferă suport complet pentru lucrul cu desktop și aplicații. A doua bibliotecă ImageProcessor.Web este construită pentru ASP.NET și oferă suport complet pentru lucrul cu aplicații web. Vom discuta în principal despre prima parte și despre cum o pot folosi dezvoltatorii în aplicațiile lor.

Previous Next

Noțiuni introductive cu ImageProcessor

O versiune stabilă este disponibilă pe NuGet. ImageProcessor este și va fi acceptat doar pe .NET Framework care rulează pe un sistem de operare Windows. Vă rugăm să nu încercați să utilizați cu .NET Core sau NET 5+.

Instalați ImageProcessor prin NuGet

NuGet\Install-Package ImageProcessor -Version number 

Aplicați filtre la imagini prin biblioteca C#

Biblioteca open source ImageProcessor permite dezvoltatorului C# .NET să filtreze cu ușurință imaginile în propriile aplicații. Vă rugăm să utilizați clasa MatrixFilters pentru a atribui filtrul corect imaginilor dvs. Există mai multe tipuri de filtre disponibile pe care le puteți aplica imaginilor dvs., cum ar fi BlackWhite, Comic, Gotham, GreyScale, HiSatch, Invert, Lomograph, LoSatch, Polaroid și Sepia.

Adăugați filigran bazat pe text la imagine

Puteți plasa cu ușurință o imagine sau un filigran text oriunde pe imaginile dvs. utilizând biblioteca open source ImageProcessor. Biblioteca oferă suport complet pentru adăugarea de filigran la imagini cu doar câteva linii de cod. Clasa necesară conține toate proprietățile necesare pentru a adăuga filigranul bazat pe text la imagine. Acceptă culoarea textului, selectați Font, Dimensiune font, Stil, opacitate, poziție, umbră și multe altele.

Decupați imagini folosind .NET

ImageProcessor oferă dezvoltatorilor de software posibilitatea de a decupa imaginea curentă într-o locație și dimensiune personalizată. Decuparea este cel mai important, dar ușor de luat în considerare atunci când editați imaginile și fotografiile. Oferă mai multe proprietăți care ajută utilizatorii să decupe imaginile în funcție de nevoile lor. Cum ar fi stânga, sus, dreapta, jos și CropMode.

Decupați imagini folosind 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);
            }
        }
    }
}            
 Română