最近在学习一个别人写的图像处理源码,但是由于其源程序注释很少,对其中的图像处理操作的理解只能通过一步一步运行。大家都知道对图像的操作其实是对图像数组的操作,因 此经过处理后的图像往往会返回一个byte类型的二维数组,例如灰度图像经过一个skeletonfilter操作后,得到一个新的图像二维数组。但是C#不像matlab那么方便,要想看到处理后的图片效果直接imshow即可。因此需要解决如何在windows mobile下将byte数组转换为Format24bppRgb格式的图片。
查找资料,获得了如何将byte数组转换为8bppIndex格式图像。但是windows mobile下pixelformat不支持8bppIndex格式,因此对其进行改进得到如下程序,将byte数组转换为24位真彩色图片(每个像素右RGB三个分量组成,各占8位,共8*3=24位)
using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing.Imaging;
using System.Drawing;//lulu 2010年3月8日15:43:31
namespace ConsomenCodeReader.Core
{
internal class ArrayToImageUtil
{
/// <summary>
/// 将一个字节数组转换为24位真彩色图
/// </summary>
/// <param name="imageArray">字节数组</param>
/// <param name="width">图像的宽度</param>
/// <