| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2365 人关注过本帖
标题:已知一个黑白照片每个像素点是黑或者白的byte数组,如何让PictureBox或者Im ...
取消只看楼主 加入收藏
ds_vb
Rank: 1
等 级:新手上路
帖 子: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
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2018-5-11
收藏
得分: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
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2018-5-11
收藏
得分: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
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2018-5-11
收藏
得分:0 
回复 5楼 风吹过b
在此非常感谢您热心详细的解答,等我有时间我试一下您的建议。
我目前的解决方式是:用c++编写一个com组件,传入byte数组,添加bmp的头相关信息后,组装成一个bmp图像保存在本地,然后
Set img_Signature.Picture = LoadPicture("E:\666.bmp")

再次感谢!
2018-05-15 11:04
快速回复:已知一个黑白照片每个像素点是黑或者白的byte数组,如何让PictureBox或 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.032283 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved