@1读取文件类型P2或者P5 图片长宽;
@2读取by[]imgdata;
@3 data 转Bitmap;
废话少说直接代码:
/创建PgmImg类库
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.Drawing;
namespace nameSpacePGM
{
public enum PGMType { P2, P5, UNKOWN };
public class UnKonwPGMTypeException : Exception
{ }
public class PGM
{
private PGMType _type = PGMType.UNKOWN;
private Size _size;
private int _pixelCount;
private byte _grayMax;
private byte[] _pgmByteData = null;
private string[,] _pgmStringData = null;
public PGMType Type
{
get { return _type; }
set { _type = value; }
}
public Size Size
{
get { return _size; }
set { _size = value; _pixelCount = Convert.ToInt32(_size.Width * _size.Height); }
}
public int PixelCount
{
get { return _pixelCount; }
}
public byte GrayMax
{
get { return _grayMax; }
set { _grayMax = value; }
}
public byte[] PgmByteData
{
get { return _pgmByteData; }
set { _pgmByteData = value; }
}
public string[,] PgmStringData
{
get { return _pgmStringData; }
set { _pgmStringData = value; }
}
static private PGM pgmInformation;
static public PGM PGMinformationInstance
{
get
{
if (pgmInformation == null)
pgmInformation = new PGM();
return pgmInformation;
}
}
public class PgmFile
{
public PgmFile()
{
_PgmImg = PGM.PGMinformationInstance;
}
private FileStream _pgmFileStream = null;
private BinaryReader _pgmBinaryReader = null;
private StreamReader _pgmStringReader = null;
private BinaryWriter binaryWriter = null;
private StreamWriter stringWriter = null;
private PGM _PgmImg;
static private PgmFile instance = null;
public PGM PgmImg
{
get { return _PgmImg; }
set { _PgmImg = value; }
}
static public PgmFile Instance
{
get
{