使用 ImageSharp 获取图像中特定像素的颜色数据?
Getting the color data of a specific pixel in an image using ImageSharp?
以前发过,后来因为写错关了。
我正在尝试获取图像中各个像素的颜色。我还试图从外部来源加载图像 - 在这种情况下,假设我正在尝试从尺寸为 400x400 像素的 'abcd.jpg'(或 png 在这里并不重要)获取颜色。我想要获得的颜色是 200x200 像素的颜色。我根据之前的答案尝试的是:
var ipath = @"abcd.jpg";
var color;
using (Image image = Image.Load(ipath))
{
color = image<TPixel>[200,200];
}
虽然这不起作用,但每当我尝试使用 TPixel 或 Rgba32 时,它只会告诉我“变量图像不能与类型参数一起使用”和“找不到类型或命名空间 TPixel” .有人请帮忙,老实说,我不在乎我得到的颜色是什么格式,我只需要以某种方式获取颜色数据。
提前致谢。
您需要加载具有特定像素类型的图像,而不是使用像素不可知版本。所以你需要调用 Image.Load<Rgba32>(..)
重载(即指定像素类型的重载,在本例中为 Rgba32
)
var ipath = @"abcd.jpg";
Rgba32 color;
using (var image = Image.Load<Rgba32>(ipath))
{
color = image[200,200];
}
以前发过,后来因为写错关了。 我正在尝试获取图像中各个像素的颜色。我还试图从外部来源加载图像 - 在这种情况下,假设我正在尝试从尺寸为 400x400 像素的 'abcd.jpg'(或 png 在这里并不重要)获取颜色。我想要获得的颜色是 200x200 像素的颜色。我根据之前的答案尝试的是:
var ipath = @"abcd.jpg";
var color;
using (Image image = Image.Load(ipath))
{
color = image<TPixel>[200,200];
}
虽然这不起作用,但每当我尝试使用 TPixel 或 Rgba32 时,它只会告诉我“变量图像不能与类型参数一起使用”和“找不到类型或命名空间 TPixel” .有人请帮忙,老实说,我不在乎我得到的颜色是什么格式,我只需要以某种方式获取颜色数据。 提前致谢。
您需要加载具有特定像素类型的图像,而不是使用像素不可知版本。所以你需要调用 Image.Load<Rgba32>(..)
重载(即指定像素类型的重载,在本例中为 Rgba32
)
var ipath = @"abcd.jpg";
Rgba32 color;
using (var image = Image.Load<Rgba32>(ipath))
{
color = image[200,200];
}