我是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 :(得分: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");
}