2015-04-25 57 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

你應該叫由image.GetWritablePixels()返回,以確保像素寫入圖像WritablePixelCollection類的Write方法。

你也可以做你以不同的方式在做什麼:

using (MagickImage image = new MagickImage()) 
{ 
    image.Read(@"C:\.....\test1.png"); 
    image.Evaluate(Channels.Red, EvaluateOperator.Set, Quantum.Max); 
    image.Write(@"C:\.....\test2.png"); 
}