我要用二进制读取一个图片,并以二进制的形式显示出来,我需要看里面的二进制数据,怎么写?关键是显示

用C语言或C++我想要修改BMP图片的像素数据值,该怎么写?或者这么说,将它的所有像素数据存储到一个内存中,一维二维数组都行。怎么写?... 用C语言或C++
我想要修改BMP图片的像素数据值,该怎么写?
或者这么说,将它的所有像素数据存储到一个内存中,一维二维数组都行。怎么写?
展开
 我来答
海狮2D
2012-02-03 · TA获得超过3019个赞
知道大有可为答主
回答量:1904
采纳率:55%
帮助的人:1000万
展开全部
你这种问题没办法回答,你是什么BMP?
BMP本身就有不止一种格式,有黑白的、彩色的、使用RLE压缩的、不使用RLE压缩的。
还有很多派生的格式。
你的图片有多大?64*64像素?128*128像素?100000*80000像素
我见过的图片有的单个达到几百T,硬盘需要上百块来存,如果要改一个数,那可是麻烦了。
此外,程序运行的环境Windows?DOS?
改像素是想怎么改?向画图一样吗?如果是0001010那样的一个屏幕显示不了几个像素,怎么布局?这个程序如果能用相当的复杂,比那个人给你的可能还要麻烦。
更多追问追答
追问
就是一个小图片,BMP不死有头文件么,数据的开始位置,图像的宽高等信息都能读出来呀,就是不知道怎么用。还有,数据我不是要让它显示,就是用算法在内存里面改,从第一个往后,每个像素数据存一个链表或者数组然后用算法改。输出到屏幕上只是想看看算法对不对。我可以先用小图做。运行环境先是DOS的,后面要改成窗口化的
追答
1、BMP不适合使用链表存储,时间复杂度和空间复杂度都不合理。BMP数据要使用连续空间,和C语言的二维数组差不多。
2、如果图片很小,就是黑白的比较简单,你就打印“*”或者o之类就可以看的很清楚
3、如果是彩色的或者灰度的,DOS底下确实不好显示,不过可以按照灰度分段显示。
匿名用户
2012-02-04
展开全部
这个最好学习下bmp在说把
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式