1. Məhsullar
  2.   Şəkil
  3.   .NET
  4.   ImageProcessor  
 
  

Şəkillərin Manipulyasiyası üçün Açıq Mənbəli C# .NET Kitabxanası

Pulsuz .NET API vasitəsilə PNG, JPEG, GIF və TIFF şəkillərini oxuyun, yazın, dəyişdirin, ölçüsünü dəyişdirin və çevirin.

ImageProcessor pulsuz açıq mənbəli .NET təsvir emalı kitabxanasıdır ki, bu da kompüter proqramçılarına öz .NET proqramları daxilində şəkilləri tez manipulyasiya etməyə imkan verir. Kitabxana çox sürətli, sabit, genişləndirilə bilən, istifadəçi dostudur və əla xüsusiyyətlərə malikdir. Kitabxana JPG, JPEG, PNG, GIF, PNG8 (həm animasiya, həm də statik), BMP və TIFF fayl formatları ilə işləmək üçün tam dəstək verir.

Kitabxana əsasən iki alt kitabxanaya bölünür. İlk kitabxana ImageProcessor kimi tanınır və iş masası və proqramlarla işləmək üçün tam dəstəyi təmin edir. ImageProcessor.Web 2-ci kitabxanası ASP.NET üçün qurulmuşdur və veb proqramlarla işləmək üçün tam dəstək verir. Biz əsasən birinci hissəni və tərtibatçıların ondan öz tətbiqlərində necə istifadə edə biləcəyini müzakirə edəcəyik.

Previous Next

ImageProcessor ilə işə başlamaq

Stabil buraxılış NuGet saytında mövcuddur. ImageProcessor yalnız Windows OS-də işləyən .NET Framework-də dəstəklənir və həmişə dəstəklənəcəkdir. .NET Core və ya NET 5+ ilə istifadə etməyə çalışmayın.

NuGet vasitəsilə ImageProcessor quraşdırın

NuGet\Install-Package ImageProcessor -Version number 

C# Kitabxanası vasitəsilə Şəkillərə Filtrlər tətbiq edin

Açıq mənbəli ImageProcessor kitabxanası C# .NET tərtibatçısına öz proqramlarında asanlıqla şəkilləri süzgəcdən keçirməyə imkan verir. Şəkillərinizə düzgün filtr təyin etmək üçün MatrixFilters sinfindən istifadə edin. Şəkillərinizə tətbiq edə biləcəyiniz bir neçə növ filtr mövcuddur, məsələn, BlackWhite, Comic, Gotham, GreyScale, HiSatch, Invert, Lomograph, LoSatch, Polaroid və Sepia.

Şəkilə mətn əsaslı su nişanı əlavə edin

Siz açıq mənbə ImageProcessor kitabxanasından istifadə edərək şəkillərinizin istənilən yerinə asanlıqla şəkil və ya mətn su nişanını yerləşdirə bilərsiniz. Kitabxana yalnız bir neçə sətir kodla şəkillərə su nişanı əlavə etmək üçün tam dəstək verir. Tələb olunan sinif təsvirə mətn əsaslı su nişanı əlavə etmək üçün lazım olan bütün xüsusiyyətləri ehtiva edir. O, mətn rəngini dəstəkləyir, Şrift, Şrift Ölçüsü, Üslub, qeyri-şəffaflıq, mövqe, açılan kölgə və s. seçin.

.NET istifadə edərək Şəkilləri kəsin

ImageProcessor proqram tərtibatçılarına cari təsviri xüsusi yerə və ölçüyə kəsmək imkanı verir. Kəsmə şəkillərinizi və fotoşəkillərinizi redaktə edərkən nəzərə alınmalı olan ən vacib, lakin asan prosesdir. O, istifadəçilərə ehtiyaclarına uyğun olaraq şəkilləri kəsməyə kömək edən bir neçə xüsusiyyət təqdim edir. Sol, yuxarı, sağ, aşağı və CropMode kimi.

C# .NET istifadə edərək Şəkilləri kəsin


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);
            }
        }
    }
}            
 Azəri