图片是二进制文件对吧,所以有没有大神知道怎么用C语言写一个合成图片的程序:
这个代码把图片1合并到图片2,但是查看图片2的大小是变大了,说明复制成功,但图片1就是无法在图片2中显示。
有没有哪位大师能帮帮实现合并图片功能
回复讨论(解决方案)
1.每种文件都有文件的类型说明符
比如bmp文件的数据开始是424D表示的意思就是BM,而png文件的开头也有其类型说明,你把两种数据合并,肯定是不对的
2.电脑内存或文件内容只是一个一维二进制字节数组及其对应的二进制地址;人脑才将电脑内存或文件内容中的这个一维二进制字节数组及其对应的二进制地址的某些部分看成是整数、有符号数/无符号数、浮点数、复数、英文字母、阿拉伯数字、中文/韩文/法文……字符/字符串、汇编指令、函数、函数参数、堆、栈、数组、指针、数组指针、指针数组、数组的数组、指针的指针、二维数组、字符点阵、字符笔画的坐标、黑白二值图片、灰度图片、彩色图片、录音、视频、指纹信息、身份证信息……
推荐使用WinHex软件查看硬盘或文件或内存中的原始字节内容。
先用PS手动合并两个图片并保存,再用WinHex软件查看合并后的图片文件长啥样。
3.这个我知道,但是要怎么合并呢,是不是像1楼所说的要说明符?
4.先用PS手动合并两个图片并保存,再用WinHex软件查看合并后的图片文件长啥样。
5.图片怎么可能追加合并呢,流式的还有可能,比如MP3、视频、文本文件。
图片合并要考虑合并后怎么显示,是横向并排,还是竖向排列,高度或宽度不同还要调整适应。真正合并可能要扫描图片每一像素行。或者用BitBlt、StretchBlt等矩形贴图的API。