Изображение в виде кнопки
	
	
	
	
	
	
	
	
		string InputImagePath = project.Variables["InputImagePath"].Value; // В переменной InputImagePath указать путь к изображению
string SaveImagePath = project.Variables["SaveImagePath"].Value; // В переменной SaveImagePath указать путь куда сохраняем обработанное изображение
using (MagickImage image = new MagickImage(InputImagePath)){
    using (MagickImage copyImg = new MagickImage(image.Clone())){
          copyImg.Colorize(MagickColors.Gray, new Percentage(100));
          copyImg.Raise(5);
          copyImg.Normalize();
          copyImg.Blur(0, 5);
       image.Compose = CompositeOperator.HardLight;
       image.Composite(copyImg, CompositeOperator.Modulate);
       image.Write(SaveImagePath);
    }
}
	 
	
	
		
	
 
Посмотреть вложение 46120 Посмотреть вложение 46121
Посмотреть вложение 46122 Посмотреть вложение 46123
Посмотреть вложение 46124 Посмотреть вложение 46125
Круглое изображение
	
	
	
	
	
	
	
	
		string InputImagePath = project.Variables["InputImagePath"].Value; // В переменной InputImagePath указать путь к изображению
string SaveImagePath = project.Variables["SaveImagePath"].Value; // В переменной SaveImagePath указать путь куда сохраняем обработанное изображение
using (MagickImage image = new MagickImage(InputImagePath)){
image.Format = MagickFormat.Png;
image.Alpha(AlphaOption.Set);
    using (MagickImage copy = new MagickImage(image.Clone())){
       copy.Distort(DistortMethod.DePolar, 0);
       copy.VirtualPixelMethod = VirtualPixelMethod.HorizontalTile;
       copy.BackgroundColor = MagickColors.None;
       copy.Distort(DistortMethod.Polar, 0);
            image.Compose = CompositeOperator.DstIn;
            image.Composite(copy, CompositeOperator.CopyAlpha);
            image.Write(SaveImagePath);
    }
}
	 
	
	
		
	
 
Посмотреть вложение 46114 Посмотреть вложение 46115
Посмотреть вложение 46116 Посмотреть вложение 46117
Посмотреть вложение 46118 Посмотреть вложение 46119
Мягкие края, круглого, овального изображения
	
	
	
	
	
	
	
	
		string InputImagePath = project.Variables["InputImagePath"].Value; // В переменной InputImagePath указать путь к изображению
string SaveImagePath = project.Variables["SaveImagePath"].Value; // В переменной SaveImagePath указать путь куда сохраняем обработанное изображение
using (MagickImage image = new MagickImage(InputImagePath)){
image.Format = MagickFormat.Png;
image.Alpha(AlphaOption.Set);
    using (MagickImage copy = new MagickImage(image.Clone())){
       copy.BackgroundColor = MagickColors.None;
       copy.Vignette(0,4,0,0);
            image.Composite(copy, CompositeOperator.CopyAlpha);
            image.Write(SaveImagePath);
    }
}
	 
	
	
		
	
 
Посмотреть вложение 46126 Посмотреть вложение 46127
Посмотреть вложение 46128 Посмотреть вложение 46129
Посмотреть вложение 46136 Посмотреть вложение 46137
Заменить белый фон на прозрачный
	
	
	
	
	
	
	
	
		string InputImagePath = project.Variables["InputImagePath"].Value;  // В переменной InputImagePath указать путь к изображению
string SaveImagePath = project.Variables["SaveImagePath"].Value; // В переменной SaveImagePath указать путь куда сохраняем обработанное изображение
using (MagickImage image = new MagickImage(InputImagePath)){
    image.Format = MagickFormat.Png;
    image.Alpha(AlphaOption.Set);
    image.ColorFuzz = new Percentage(10);
    image.Opaque(MagickColors.White, MagickColor.FromRgba(0, 0, 0, 0));
    image.Write(SaveImagePath);
}
	 
	
	
		
	
 
Посмотреть вложение 46479 Посмотреть вложение 46480
Наложение водяного знака на изображение
	
	
	
	
	
	
	
	
		string InputImagePath = project.Variables["InputImagePath"].Value; // В переменной InputImagePath указать путь к изображению
string WatermarkImagePath =  project.Variables["WatermarkImagePath"].Value; // В переменной WatermarkImagePath указать путь к изображению которое нужно наложить
string SaveImagePath =  project.Variables["SaveImagePath"].Value; // В переменной SaveImagePath указать путь куда сохраняем обработанное изображение
using (MagickImage image = new MagickImage(InputImagePath)){
    using (MagickImage watermark = new MagickImage(WatermarkImagePath)){
        image.Composite(watermark, Gravity.Southeast, CompositeOperator.Over);
        watermark.Evaluate(Channels.Alpha, EvaluateOperator.Divide, 5);
        image.Composite(watermark, 50, 50, CompositeOperator.Over);
        image.Write(SaveImagePath);
    }
}
	 
	
	
		
	
 В переменной InputImagePath указать путь к изображению
Посмотреть вложение 46173
В переменной WatermarkImagePath указать путь к изображению которое нужно наложить
Посмотреть вложение 46175
В переменной SaveImagePath указать путь куда сохраняем обработанное изображение
Посмотреть вложение 46176
в коде можно выбрать место расположение водяного знака на изображении, ставим точку, всплывет окошечко, выбираем.
Посмотреть вложение 46177
Так же в 7-й строке, показано на скриншоте выше, можно регулировать прозрачность, на данный момент она 5. Еще можно в 8 - й строке менять параметры 50, 50, тем самым регулируем расположение прозрачного знака на изображении.
Свой текст на изображении
	
	
	
	
	
	
	
	
		string InputImagePath = project.Variables["InputImagePath"].Value;
string SaveImagePath = project.Variables["SaveImagePath"].Value;
using (MagickImage image = new MagickImage(InputImagePath)){
     MagickReadSettings readSettings = new MagickReadSettings{
        FillColor = MagickColors.Blue, // цвет текста
        BackgroundColor = MagickColors.Transparent, // фон текста
        Font = "Arial", // Шрифт текста (только те, что установлены в Windows)
        Width = 350, // Ширина текста
        Height = 48 }; // Высота текста
    image.Alpha(AlphaOption.Opaque);
    using (MagickImage label = new MagickImage("label:Тут какой то текст", readSettings)){
        image.Composite(label, 200, 100, CompositeOperator.Over); // расположение текста на картинке 200 слева, 100 сверху
        image.Write(SaveImagePath);
    }
}
	 
	
	
		
	
 
Посмотреть вложение 46527
Сравниваем два изображения и получаем разницу
	
	
	
	
	
	
	
	
		string FirstImagePath = project.Variables["FirstImagePath"].Value; // В переменной FirstImagePath указать путь к первому изображению
string SecondImagePath = project.Variables["SecondImagePath"].Value; // В переменной SecondImagePath указать путь ко второму изображению
string SaveImagePath = project.Variables["SaveImagePath"].Value; // В переменной SaveImagePath указать путь куда сохраняем обработанное изображение
using (MagickImage firstImage = new MagickImage(FirstImagePath)){
    using (MagickImage secondImage = new MagickImage(SecondImagePath)){
        using (MagickImage resultImage = new MagickImage()){
            CompareSettings compareSettings = new CompareSettings(){
                HighlightColor = MagickColors.Red,
                LowlightColor = MagickColors.White,
                Metric = ErrorMetric.Absolute };
          firstImage.ColorFuzz = new Percentage(5);
          firstImage.Compare(secondImage, compareSettings, resultImage);
          resultImage.Write(SaveImagePath);
        }
    }
}
	 
	
	
		
	
 В переменной FirstImagePath указать путь к первому изображению
Посмотреть вложение 46180
В переменной SecondImagePath указать путь ко второму изображению
Посмотреть вложение 46181
В переменной SaveImagePath указать путь куда сохраняем обработанное изображение. В результате нам показывает то, чего нету на втором изображении, то есть разницу)
Посмотреть вложение 46182
Картинку в Base64
Это может быть полезно при работе с капчами, чтоб изображение не сохранять на диск после обработки фильтрами, а сразу конвертировать в base64, и отправить на кап монстр 
 
	
	
	
	
	
	
	
	
		string InputImagePath = project.Variables["InputImagePath"].Value; // В переменной InputImagePath указать путь к изображению
using (MagickImage image = new MagickImage(InputImagePath)){
    string Base64 = image.ToBase64();
    project.Variables["Base64"].Value =  Base64;
}
	 
	
	
		
	
 В переменной InputImagePath указать путь к изображению
Посмотреть вложение 46199
Посмотреть вложение 46202
Информация о картинке (формат, размер, битность, цветность)
Кодом ниже, можно получить краткую информацию о изображении
	
	
	
	
	
	
	
	
		string InputImagePath = project.Variables["InputImagePath"].Value; // В переменной InputImagePath указать путь к изображению
using (MagickImage image = new MagickImage(InputImagePath)){
    project.Variables["InfoImage"].Value = image.ToString();
}
	 
	
	
		
	
 В переменной InputImagePath указать путь к изображению
Посмотреть вложение 46206
Посмотреть вложение 46208
Получить файл с координатами и цветом пикселей
	
	
	
	
	
	
	
	
		string InputImagePath = project.Variables["InputImagePath"].Value; // В переменной InputImagePath указать путь к изображению
string SaveFilePath = project.Variables["SaveFilePath"].Value; // В переменной SaveFilePath указать путь к файлу, с его названием  и он будет создан сам
using (MagickImage image = new MagickImage(InputImagePath)){
       image.Write(SaveFilePath);
}
	 
	
	
		
	
 
Посмотреть вложение 46211
В файлике мы увидим следующее: общее количество пикселей, которое на изображении, и информацию про каждый пиксель, его координаты расположения на изображении и цвет
Посмотреть вложение 46212
Формат .jpg в формат .png
	
	
	
	
	
	
	
	
		string InputImagePath = project.Variables["InputImagePath"].Value; // В переменной InputImagePath указать путь к изображению с форматом .jpg
string SaveImagePath = project.Variables["SaveImagePath"].Value; // В переменной SaveImagePath указать путь куда сохраняем обработанное изображение с форматом .png
using (MagickImage image = new MagickImage(InputImagePath)){
       image.Scale(new Percentage(100)); // качество изображения в процентах
       image.Write(SaveImagePath);
}
	 
	
	
		
	
 
Получить размер изображения
	
	
	
	
	
	
	
	
		string InputImagePath = project.Variables["InputImagePath"].Value; // В переменной InputImagePath указать путь к изображению
using (MagickImage image = new MagickImage(InputImagePath)){
    int Width = image.Width;
    int Height = image.Height;
    project.Variables["Size"].Value = Width.ToString() + "x" + Height.ToString();
}
	 
	
	
		
	
 В переменной Size появится размер изображения.
Доминирующий цвет на изображении
	
	
	
	
	
	
	
	
		string InputImagePath = project.Variables["InputImagePath"].Value; // В переменной InputImagePath указать путь к изображению
using (MagickImage image = new MagickImage(InputImagePath)){
   Dictionary<MagickColor, int> dict = image.Histogram();
             var keyOfMaxValue = dict.Aggregate((x, y) => x.Value > y.Value ? x : y).Key;
                 Color c = keyOfMaxValue.ToColor();
             string hex = "#" + c.R.ToString("X2") + c.G.ToString("X2") + c.B.ToString("X2");
             string rgb =  c.R.ToString() + ", " + c.G.ToString() + ", " + c.B.ToString();
    project.Variables["HexColor"].Value = hex;
    project.Variables["ColorRGB"].Value = rgb;
    project.SendInfoToLog("", "ColorRGB: " + rgb + " -  HexColor: " + hex, true);
}
	 
	
	
		
	
 Получим доминирующий цвет этого изображения
Посмотреть вложение 46218
В переменной HexColor появится значение цвета в hex, а в переменной ColorRGB появится значение цвета в rgb
Посмотреть вложение 46219
посмотрим в гугле:
Посмотреть вложение 46221
Действительно, на фоне (задний с лева и нижний план изображения) больше темного чем светлого.