C++.net从一个地址读取像素数据流,如何生成一个bitmap然后在pictureBox里显示?

新建一个C++窗体现在别人给我传过来一个指向一组图像的宽(width),高(height)以及像素(16位)数据的地址(addrint类型)。我想从这个地址开始,获取到所... 新建一个C++窗体

现在别人给我传过来一个指向一组图像的宽(width),高(height)以及像素(16位)数据的地址(addr int类型)。
我想从这个地址开始,获取到所有的像素值、然后做成一张bitmap图片,在pictureBox控件中显示。

我现在的代码如下:
Bitmap^ mybmap = gcnew(
width,
height,
width*2,
System::Drawing::Imaging::PixelFormat::Format16bppGrayScale,
IntPtr(addr));
pictureBox->Image = mybmap;

简直错的海了去了、
但是完全不是该怎么改啊......

求高手江湖救急啊!!!!!!!!
描述的有点问题

首先传过来的是一个地址,int型的
然后我知道这个图像的宽高以及像素长度(16位)

然后我要从这个地址获取到整个图像的像素信息,然后变成一张bitmap图片在pictureBox控件中显示

查了MSDN,有一个Bitmap的构造函数、我感觉完美的满足了我现在的这个场景:
public:
Bitmap (
int width, //宽度
int height, //高度
int stride, //指定相邻扫描行开始处之间字节偏移量的整数
PixelFormat format, //新 Bitmap 的 PixelFormat 枚举
IntPtr scan0 //指向包含像素数据的字节数组的指针
)

但是我弄出来的Bitmap,以及把bitmap值赋给pictureBox->Iamge编译的时候都没有错,但是一运行就崩溃啊......

追加满200分,求达人解惑
展开
 我来答
空雪梦见
2013-09-11 · TA获得超过5598个赞
知道大有可为答主
回答量:2522
采纳率:75%
帮助的人:1205万
展开全部
知道高宽和每个像素的长度对吧,这样就知道整个图片在内存中占用的空间

是否方便给一个例子数据?把高宽告诉我,把数据存成一个文件传上来,我能下载就好
明天我尝试从文件读出数据以后模拟你这个情况,然后把图片显示在pictureBox上
成功了代码给你,但是不保证成功,放弃尝试了我也会来告诉你。
如何?
更多追问追答
追问
数据就是一些像素数据啦、这个随便造就可以了
我现在的问题就是不知道该怎么把自己构造的bitmap显示在pictureBox里面
直接赋值给Image属性会报错

帮忙试一下吧...万分感激
追答

VS2012的工程,从原始数据生成System::Drawing::Bitmap^然后呈现在pictureBox里的代码。

其中数据文件我用了绝对路径(C:\test.dat),数据文件也在压缩包里

 

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
千锋教育
2016-04-06 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
展开全部
public Bitmap(
int width,
int height,
PixelFormat format
)
上面是msdn出来的,我没学过c#,但是看懂了PixelFormat 是枚举,应该是
System::Drawing::Imaging::PixelFormat.Format16bppGrayScale
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式