如何使用 Magick.Net 更改图像中每个像素的颜色
How to Change the color of each pixel in a image by using 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");
}
}
}
您应该调用 image.GetWritablePixels() 返回的 WritablePixelCollection class 的 Write 方法,以确保将像素写入图像。
你也可以用不同的方式做你正在做的事情:
using (MagickImage image = new MagickImage())
{
image.Read(@"C:\.....\test1.png");
image.Evaluate(Channels.Red, EvaluateOperator.Set, Quantum.Max);
image.Write(@"C:\.....\test2.png");
}
我是 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");
}
}
}
您应该调用 image.GetWritablePixels() 返回的 WritablePixelCollection class 的 Write 方法,以确保将像素写入图像。
你也可以用不同的方式做你正在做的事情:
using (MagickImage image = new MagickImage())
{
image.Read(@"C:\.....\test1.png");
image.Evaluate(Channels.Red, EvaluateOperator.Set, Quantum.Max);
image.Write(@"C:\.....\test2.png");
}