一、图像数据
图像数据存储在标签<7FE0,0010>中,按照一行一行 的像素字节排列过去。在读取dicomTag时,会保存<7FE0,0010>在文件中指向的位置.
一般后面会专门的读取图像的字节流.
步骤如下:
新建一个位图:
Bitmap gdiImg=new Bitmap(cols, rows); //其中cols和rows为图像的行列值,存储在<0028,0010>和<0028,0011>连个标签中
确定图像每个像素的字节数:
dataLen / 8 * colors //colors指<0028,0002>,对于RGB为3,灰度图像为1,dataLen指<0028,0100>,每个像素的bit位数,除以8正好是字节数
对像素值做调窗操作
将值赋给bitmap
gdiImg.SetPixel(j, i , pixel);
总结:从左往右,从上往下扫描读取:
//for (int i = 0; i < gdiImg.Height; i++)
//{
// for (int j = 0; j < gdiImg.Width; j++)
// {
// if (reads >= pixDatalen)
// break;
// byte[] pixData = dicomFile.ReadBytes(dataLen / 8 * colors);
// reads += pixData.Length;
// Color c = Color.Empty;
//