1. Termékek
  2.   Kép
  3.   .NET
  4.   ImageProcessor  
 
  

Nyílt forráskódú C# .NET Library for Images Manipulation

PNG, JPEG, GIF és TIFF képek olvasása, írása, módosítása, átméretezése és konvertálása menet közben az ingyenes .NET API-n keresztül.

Az ImageProcessor egy ingyenes, nyílt forráskódú .NET képfeldolgozó könyvtár, amely lehetővé teszi a számítógépes programozók számára, hogy menet közben módosítsák a képeket saját .NET-alkalmazásaikon belül. A könyvtár nagyon gyors, stabil, bővíthető, felhasználóbarát és nagyszerű funkciókat tartalmaz. A könyvtár teljes mértékben támogatja a JPG, JPEG, PNG, GIF, PNG8 (animált és statikus), BMP és TIFF fájlformátumokkal való munkát.

A könyvtár alapvetően két alkönyvtárra oszlik. Az első könyvtár ImageProcessor néven ismert, és teljes mértékben támogatja az asztali számítógépekkel és az alkalmazásokkal való munkát. A 2. ImageProcessor.Web könyvtár az ASP.NET számára készült, és teljes mértékben támogatja a webalkalmazásokkal való munkát. Főleg az első részről fogunk beszélni, és arról, hogy a fejlesztők hogyan használhatják azt alkalmazásaikban.

Previous Next

Az ImageProcessor használatának első lépései

Stabil kiadás elérhető a NuGet webhelyen. Az ImageProcessort csak a Windows operációs rendszeren futó .NET-keretrendszer támogatja, és mindig is lesz. Kérjük, ne próbálja meg .NET Core vagy NET 5+ rendszerrel használni.

Telepítse az ImageProcessort a NuGet segítségével

NuGet\Install-Package ImageProcessor -Version number 

Szűrők alkalmazása a képekre a C# könyvtáron keresztül

A nyílt forráskódú ImageProcessor könyvtár lehetővé teszi a C# .NET fejlesztők számára, hogy könnyedén szűrjék a képeket saját alkalmazásaikon belül. Kérjük, használja a MatrixFilters osztályt a megfelelő szűrő hozzárendeléséhez a képekhez. Többféle szűrő áll rendelkezésre, amelyeket a képekre alkalmazhat, például BlackWhite, Comic, Gotham, GreyScale, HiSatch, Invert, Lomograph, LoSatch, Polaroid és Sepia.

Szöveg alapú vízjel hozzáadása a képhez

A nyílt forráskódú ImageProcessor könyvtár segítségével könnyedén elhelyezhet egy képet vagy szöveges vízjelet a képeken bárhol. A könyvtár teljes mértékben támogatja a vízjel hozzáadását a képekhez, mindössze néhány sornyi kóddal. A szükséges osztály tartalmazza az összes olyan tulajdonságot, amely szükséges ahhoz, hogy szöveges vízjelet adjunk a képhez. Támogatja a szöveg színét, válassza ki a betűtípust, a betűméretet, a stílust, az átlátszatlanságot, a pozíciót, a vetett árnyékot és egyebeket.

Képek kivágása .NET használatával

Az ImageProcessor lehetővé teszi a szoftverfejlesztők számára, hogy az aktuális képet egyéni helyre és méretre levágják. A vágás a legfontosabb, mégis egyszerű folyamat, amelyet figyelembe kell venni a képek és fényképek szerkesztésekor. Számos olyan tulajdonságot biztosít, amelyek segítségével a felhasználók igényeik szerint vághatják le a képeket. Például bal, felső, jobb, alsó és CropMode.

Vágja le a képeket a C# .NET használatával


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