如何用C#对8位的BMP灰度图进行处理?
来源:百度知道 编辑:UC知道 时间:2024/06/07 23:23:25
但是对8位的BMP灰度图该用C#里面的什么函数方法呢?之前只在VC里面做过图像处理,到了C#不知道该用什么函数方法了,请高人指教
/// <summary>
/// 灰度
/// </summary>
/// <param name="b">原始图</param>
/// <param name="mode">模式(true:加权模式, false:平均模式)</param>
/// <returns></weightingMode>
public static Bitmap ToGray(Bitmap b, bool weightingMode)
{
if (b == null) return null;
try
{
int width = b.Width;
int height = b.Height;
BitmapData data = b.LockBits(new Rectangle(0, 0, width, height), ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb);
unsafe
{
byte* p = (byte*)data.Scan0;
int offset = data.Stride - width * 3;
byte gray = 0;
for (int y = 0; y < height; y++)