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分,求达人解惑 展开
现在别人给我传过来一个指向一组图像的宽(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分,求达人解惑 展开
2个回答
展开全部
知道高宽和每个像素的长度对吧,这样就知道整个图片在内存中占用的空间
是否方便给一个例子数据?把高宽告诉我,把数据存成一个文件传上来,我能下载就好
明天我尝试从文件读出数据以后模拟你这个情况,然后把图片显示在pictureBox上
成功了代码给你,但是不保证成功,放弃尝试了我也会来告诉你。
如何?
是否方便给一个例子数据?把高宽告诉我,把数据存成一个文件传上来,我能下载就好
明天我尝试从文件读出数据以后模拟你这个情况,然后把图片显示在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
int width,
int height,
PixelFormat format
)
上面是msdn出来的,我没学过c#,但是看懂了PixelFormat 是枚举,应该是
System::Drawing::Imaging::PixelFormat.Format16bppGrayScale
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询