请教一个关于内存bmp图像转bitmap的问题

qw121qae33y8 2016-05-17 12:35:41
我现在知道一个24位位图格式图片的内存首地址,比如0x12345678,还知道图像大小width和height,那么在C#中如何将其转换为bitmap数据合适呢?
...全文
169 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
qw121qae33y8 2016-05-18
  • 打赏
  • 举报
回复
感谢2楼,搞定了。 byte[] imageTemp = new byte[size]; Marshal.Copy(ptr0, imageTemp, 0, size); Bitmap newimage=BytesToBitmap(imageTemp ); public static Bitmap BytesToBitmap(byte[] buffer) { MemoryStream ms = new MemoryStream(buffer); Image image = System.Drawing.Image.FromStream(ms); Bitmap map = new Bitmap(image); return map; }
我是飞云 2016-05-17
  • 打赏
  • 举报
回复
你怎么取得这个地址的?对象的内存地址是会发生改变,下一秒可能就不正确了。
为轮子而生 2016-05-17
  • 打赏
  • 举报
回复
引用 1楼我是飞云 的回复:
你怎么取得这个地址的?对象的内存地址是会发生改变,下一秒可能就不正确了。
建议你好好学学内存是怎么回事
为轮子而生 2016-05-17
  • 打赏
  • 举报
回复
首先计算占用内存: bytecount = ((((width * height) + 32) / 32 ) * 4) 根据bytecount和首地址取得bytes, 然后用IO.MemoryStream把bytes转换为Bitmap
qw121qae33y8 2016-05-17
  • 打赏
  • 举报
回复
引用 2 楼 rocmemory 的回复:
首先计算占用内存: bytecount = ((((width * height) + 32) / 32 ) * 4) 根据bytecount和首地址取得bytes, 然后用IO.MemoryStream把bytes转换为Bitmap
嗯,我先去试下

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧