1. מוצרים
  2.   תמונה
  3.   .NET
  4.   ImageProcessor  
 
  

ספריית קוד פתוח C# .NET למניפולציה של תמונות

קרא, כתוב, שנה, שנה גודל והמר תמונות PNG, JPEG, GIF ו-TIFF תוך כדי תנועה באמצעות .NET API בחינם.

ImageProcessor היא ספריית עיבוד תמונה בקוד פתוח חינמית .NET המאפשרת למתכנתי מחשבים לתפעל תמונות תוך כדי תנועה בתוך יישומי NET משלהם. הספרייה מהירה מאוד, יציבה, ניתנת להרחבה, ידידותית למשתמש ומכילה תכונות נהדרות. הספרייה מספקת תמיכה מלאה לעבודה עם פורמטים של קבצים JPG, JPEG, PNG, GIF, PNG8 (גם מונפשים וגם סטטיים), BMP ו-TIFF.

הספרייה מחולקת בעיקר לשתי ספריות משנה. הספרייה הראשונה ידועה בשם ImageProcessor ומספקת תמיכה מלאה לעבודה עם שולחן עבודה ויישומים. הספרייה השנייה ImageProcessor.Web בנויה עבור ASP.NET ומספקת תמיכה מלאה לעבודה עם יישומי אינטרנט. אנו נדון בעיקר על החלק הראשון וכיצד מפתחים יכולים להשתמש בו בתוך היישומים שלהם.

Previous Next

תחילת העבודה עם ImageProcessor

מהדורה יציבה זמינה ב-NuGet. ImageProcessor נתמך ויתמך רק ב-.NET Framework הפועל על מערכת הפעלה של Windows. נא לא לנסות להשתמש עם .NET Core או NET 5+.

התקן את ImageProcessor דרך NuGet

NuGet\Install-Package ImageProcessor -Version number 

החל מסננים על תמונות באמצעות ספריית C#

ספריית הקוד הפתוח ImageProcessor מאפשרת למפתחי C# .NET לסנן תמונות בקלות בתוך היישומים שלהם. אנא השתמש במחלקה MatrixFilters כדי להקצות את המסנן הנכון לתמונות שלך. ישנם מספר סוגים של מסננים זמינים שתוכל להחיל על התמונות שלך, כגון BlackWhite, Comic, Gotham, GreyScale, HiSatch, Invert, Lomograph, LoSatch, Polaroid ו-Sepia.

הוסף סימן מים מבוסס טקסט לתמונה

אתה יכול בקלות למקם תמונה או סימן מים של טקסט בכל מקום על התמונות שלך באמצעות ספריית הקוד הפתוח ImageProcessor. הספרייה מספקת תמיכה מלאה בהוספת סימן מים לתמונות עם מספר שורות קוד בלבד. המחלקה הנדרשת מכילה את כל המאפיינים הדרושים להוספת סימן המים מבוסס הטקסט לתמונה. הוא תומך בצבעי טקסט, בחר גופן, גודל גופן, סגנון, אטימות, מיקום, צללית ועוד.

חתוך תמונות באמצעות NET

ה-ImageProcessor נותן למפתחי תוכנה את היכולת לחתוך את התמונה הנוכחית למיקום וגודל מותאמים אישית. חיתוך הוא התהליך החשוב ביותר אך קל לשקול בעת עריכת התמונות והתמונות שלך. הוא מספק מספר מאפיינים שעוזרים למשתמשים לחתוך תמונות בהתאם לצרכיהם. כגון שמאל, למעלה, ימין, תחתון ו-CropMode.

חתוך תמונות באמצעות 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);
            }
        }
    }
}            
 עִברִית