搜索
编程论坛
→
开发语言
→
『 VB6论坛 』
→ 已知一个黑白照片每个像素点是黑或者白的byte数组,如何让PictureBox或者Image组件显示出来
标题:
已知一个黑白照片每个像素点是黑或者白的byte数组,如何让PictureBox或者Im ...
取消只看楼主
ds_vb
等 级:
新手上路
帖 子:4
专家分:0
注 册:2018-5-11
结帖率:
100%
楼主
已结贴
√
问题点数:20 回复次数:3
已知一个黑白照片每个像素点是黑或者白的byte数组,如何让PictureBox或者Image组件显示出来
已经得到一个PixelFormat为PixedFormat1bppIndexed的byte数组(即黑白图片),就是说每个像素点是黑或者白已经知道了,如何让PictureBox或者Image组件显示出来,还请各位不吝赐教,感谢!
搜索更多相关主题的帖子:
像素
PictureBox
Image
组件
显示
2018-05-11 17:26
ds_vb
等 级:
新手上路
帖 子:4
专家分:0
注 册:2018-5-11
第
2
楼
得分:0
回复 2楼 风吹过b
感谢您的详细回答,PSet方法我试过了,由于一个像素点太小了,绘制出来看不到,我会试着用你说的用矩形代表一个点来试一下。
不过还想请教一下有没有更简单的方法,java和c#那边都挺简单的,有对应的方法,输入byte数组,就可以生成一个类似bitmap的类型,然后把bitmap塞到控件中就可以显示了。我在vb中用GdipCreateBitmapFromScan0 168, 44, 0, GpPixelFormat.PixelFormat1bppIndexed, ByVal pbSign(0), Bitmap 这个方法试过,但是bitmap怎么传给控件到现在还没有找到方法,还有就是这个方法中的第三个参数stride我不知道应该传什么数值,再次感谢!
2018-05-14 10:27
ds_vb
等 级:
新手上路
帖 子:4
专家分:0
注 册:2018-5-11
第
3
楼
得分:0
回复 2楼 风吹过b
还想请教一下,说修改DrawWidth能放大像素点,我改大之后
For I = 0 To 167
For j = 0 To 43
signPicture.PSet (I, j), vbBlue
Next j
Next I
这个只能画出来一个点,而且只显示4分之一圆,感觉是控件左上角的点为原点画了一个圆,然后就不画其他的点了,还请不吝赐教,感谢!
[此贴子已经被作者于2018-5-14 11:42编辑过]
2018-05-14 11:09
ds_vb
等 级:
新手上路
帖 子:4
专家分:0
注 册:2018-5-11
第
4
楼
得分:0
回复 5楼 风吹过b
在此非常感谢您热心详细的解答,等我有时间我试一下您的建议。
我目前的解决方式是:用c++编写一个com组件,传入byte数组,添加bmp的头相关信息后,组装成一个bmp图像保存在本地,然后
Set img_Signature.Picture = LoadPicture("E:\666.bmp")
再次感谢!
2018-05-15 11:04
4
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-486846-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.324173 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved