2015-04-25 2 views
0

Я новичок в Magick.Net. Я попытался изменить цвет каждого пикселя на изображении, но нет никакого изменения в новом изображении. Вот мой код. Может ли кто-нибудь сказать мне, что происходит? Большое спасибо.Как изменить цвет каждого пикселя в изображении с помощью Magick.Net

using System; 
    using System.Collections.Generic; 
    using System.Linq; 
    using System.Text; 
    using System.Threading.Tasks; 
    using ImageMagick; 
    namespace MagickTutor 
    { 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      MagickImage image = new MagickImage(); 
      image.Read("C:\\.....\\test1.png"); 
      foreach (Pixel p in image.GetWritablePixels()) { 
       p.SetChannel(0, 65535); 
      } 
      image.Write("C:\\.....\\test2.png"); 
     } 
     } 
    } 

ответ

0

Вы должны вызвать метод Write класса WritablePixelCollection, возвращенный image.GetWritablePixels(), чтобы убедиться, что пиксели записываются изображения.

Вы также могли бы сделать то, что вы делаете по-другому:

using (MagickImage image = new MagickImage()) 
{ 
    image.Read(@"C:\.....\test1.png"); 
    image.Evaluate(Channels.Red, EvaluateOperator.Set, Quantum.Max); 
    image.Write(@"C:\.....\test2.png"); 
} 
Смежные вопросы