我正在尝试使用C#创建一个控制台应用程序,首先加载一个8位灰度级位图文件(通常是BMP)并将其转换为二维字节数组,其中(如您所料)该字节位于位置x,y是像素x,y的强度。然后我有很多代码可以在位图上做一些工作作为数组。
麻烦的是,我已经看到这样做来自WPF模块的调用,这些调用在控制台应用程序中是不可用的。我不想使用System.Windows.Media.Imaging
作为例子。
有没有人有任何关于如何在没有太多麻烦的情况下做到这一点的建议?
答案 0 :(得分:9)
您可以将System.Drawing.dll
程序集添加到项目的引用中。然后,您可以使用System.Drawing.Bitmap
class。
将以下内容添加到代码文件的顶部以添加命名空间System.Drawing
:
using System.Drawing;
加载位图:
Bitmap bitmap = (Bitmap)Image.FromFile(@"mypath.bmp");
当你完成位图时:
bitmap.Dispose();
您可以获取位图中的宽度,高度和任何像素:
int width = bitmap.Width;
int height = bitmap.Height;
Color pixel00 = bitmap.GetPixel(0, 0);
答案 1 :(得分:0)
使用带有图像文件路径的System.Drawing.Bitmap ctor。