知道内存中一个图片的指针IntPtr大小,转换成图片显示
Posted 搬砖码农的一天
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了知道内存中一个图片的指针IntPtr大小,转换成图片显示相关的知识,希望对你有一定的参考价值。
//nSize 为总长度
//pImageData 为总数据
//nImageSize //一个图片的长度
byte[] _bytes = new byte[nImageSize];// //IntPtr infosIntptr = Marshal.AllocHGlobal(pImageData); Marshal.Copy(pImageData, _bytes, 0, nImageSize);//复制 PtrMoveSize(ref pImageData, nImageSize);//丛总内存中去掉当前的图片所占内存 nSize -= nImageSize; MemoryStream ms = new MemoryStream(_bytes); Image img = Image.FromStream(ms); ms.Close(); ms.Dispose(); pictureBox1.Image = img; pictureBox1.SizeMode = PictureBoxSizeMode.Zoom;
//指针偏移 public static void PtrMoveSize(ref IntPtr pData, int nLength) { if (IntPtr.Size == sizeof(Int64)) pData = new IntPtr(pData.ToInt64() + nLength); else pData = new IntPtr(pData.ToInt32() + nLength); }
以上是关于知道内存中一个图片的指针IntPtr大小,转换成图片显示的主要内容,如果未能解决你的问题,请参考以下文章
为啥/何时使用 `intptr_t` 在 C 中进行类型转换?
我用C#,上一步函数返回了一个IntPtr型的图片指针,我已知图片的长、宽,如何转换成image类。