社区
C++ 语言
帖子详情
用纯C保存bmp位图?
vivian926
2007-01-21 05:30:16
请问如何用纯C将图片保存成bmp文件?
多谢各位大侠指教!
...全文
978
36
打赏
收藏
用纯C保存bmp位图?
请问如何用纯C将图片保存成bmp文件? 多谢各位大侠指教!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
36 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xmu_才盛
2011-05-01
打赏
举报
回复
不知道位图的格式, 所以只能帮你顶了。。
qq515383106
2011-05-01
打赏
举报
回复
我要358732727@qq.com
liahr
2010-07-14
打赏
举报
回复
你应该去查一下bmp的文件格式
xushuai0794
2010-07-14
打赏
举报
回复
我有这程序,告诉我你邮箱,我发给你。。。
sugar65
2010-07-13
打赏
举报
回复
几年了??还没解决??
herman~~
2010-07-13
打赏
举报
回复
mark
wesweeky
2010-07-13
打赏
举报
回复
。每天回复
w_volove
2010-07-13
打赏
举报
回复
[Quote=引用 28 楼 wsy6634 的回复:]
http://hi.baidu.com/wsy6634/blog/item/00fb1cfbd5b12515a9d31171.html
[/Quote]
留个记号~~
wsy6634
2010-07-13
打赏
举报
回复
http://hi.baidu.com/wsy6634/blog/item/00fb1cfbd5b12515a9d31171.html
kenneth_lueng
2007-01-23
打赏
举报
回复
先看明白BMP圖的協議,然後你就知道怎麼做了
gemo
2007-01-23
打赏
举报
回复
case WM_CREATE:
{
HDC hWndDC = ::GetDC(hWnd);
hMemDC = ::CreateCompatibleDC(hWndDC);
int nScreenX = ::GetSystemMetrics(SM_CXSCREEN);
int nScreenY = ::GetSystemMetrics(SM_CYSCREEN);
hMemBmp = ::CreateCompatibleBitmap(hWndDC, nScreenX, nScreenY);
::ReleaseDC(hWnd, hWndDC);
SelectObject(hMemDC, hMemBmp);
::PatBlt(hMemDC, 0, 0, nScreenX, nScreenY, WHITENESS);
}
gemo
2007-01-23
打赏
举报
回复
void SaveBmp(const char* filename, HDC hDC, HBITMAP hBmp)
{
FILE* fp = fopen(filename, "wb");
BITMAPFILEHEADER bfh;
memset(&bfh, 0, sizeof(bfh));
bfh.bfSize = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER) +
1024 * 768 * 3;
bfh.bfType = MAKEWORD('B', 'M');
bfh.bfOffBits = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER);
fwrite(&bfh, sizeof(bfh), 1, fp);
BITMAPINFOHEADER bih;
memset(&bih, 0, sizeof(bih));
bih.biSize = sizeof(bih);
bih.biBitCount = 24;
bih.biWidth = 1024;
bih.biHeight = 768;
bih.biCompression = BI_RGB;
bih.biPlanes = 1;
fwrite(&bih, sizeof(bih), 1, fp);
char* lpDibits = new char[1024*768*4];
memset(lpDibits, 0, 1024*768*4);
int iRet = ::GetDIBits(hDC, hBmp, 0, 768,
lpDibits, (BITMAPINFO *)&bih, DIB_RGB_COLORS);
fwrite(lpDibits, 1024*768*3, 1, fp);
delete [] lpDibits;
fclose(fp);
}
vivian926
2007-01-22
打赏
举报
回复
C++
我的意思是不用MFC
对不起哦。。
vivian926
2007-01-22
打赏
举报
回复
貌似有很多报错啊。。
wwwhaichun
2007-01-22
打赏
举报
回复
#include <fstream>
用纯C怎么又用到fstream的东西了呢?
vivian926
2007-01-22
打赏
举报
回复
我的是一个win32 application工程,头文件和cpp文件都是c++的,
#include <fstream.h>
#include <iostream.h>
以后加入
BITMAPFILEHEADERbfh;
BITMAPINFOHEADERbih;
fstream file;
然后在“保存”按钮的消息处理里加入
file.open( strName,ios::nocreate|ios::in|ios::binary );
if( !file ) return;
file.read( (char*)&bfh, sizeof(bfh) );
file.read( (char*)&bih, sizeof(bih) );
data = new BYTE[bih.biWidth*bih.biHeight*3];
file.read( (char*)data, bih.biWidth*bih.biHeight*3 );
file.close();
delete[] data;
就可以了吗
Mypiger
2007-01-22
打赏
举报
回复
#include <fstream.h>
vivian926
2007-01-22
打赏
举报
回复
我大概是有什么头文件没有加,加了这几句
BITMAPFILEHEADER bfh;
BITMAPINFOHEADER bih;
BYTE *data;
fstream file;
以后有这样的错误:
drawer.cpp(12) : error C2079: 'file' uses undefined class 'basic_fstream<char,struct std::char_traits<char> >'
vivian926
2007-01-22
打赏
举报
回复
笨笨地问一下,fstream是什么类型?
argenCHN
2007-01-22
打赏
举报
回复
up
加载更多回复(16)
bmp
位图
文件的读取与
保存
.rar_
bmp
_
bmp
save_c
bmp
_
保存
bmp
_文件
保存
bmp
bmp
位图
文件的读取与
保存
BMP
位图
图像C语言读写封装源码及
BMP
位图
详细介绍
压缩文件提供: 1.
bmp
位图
文件详细格式分析; 2.
bmp
位图
文件打开,读取功能; 3.
bmp
位图
文件写入,
保存
功能; 4.
bmp
位图
文件显示到指定控件(如,picture控件上);
FFmpeg系列之51:Android音视频录制播放实战及底层原
FFmpeg系列之51【FFmpeg第四季Android音视频专题之1】Android音视频录制播放实战及底层原理解析 我将带领大家来学习Android方向的音视频开发内容,包括但不限于Android绘制图片及
BMP
位图
原理解析、Android音频的录制...
bmp
.rar_
BMP
读取_C 读取
bmp
_C++
保存
位图
_
bmp
_读取
bmp
bmp
位图
文件的读取与
保存
bmp
位图
文件的读取与
保存
C语言读取
BMP
图像数据
BMP
(Bitmap-File)图形文件是Windows采用的图形文件格式,在Windows环境下运行的所有图象处理软件都支持
BMP
图象文件格式。...
BMP
位图
文件默认的文件扩展名是
BMP
或者
bmp
(有时它也会以.DIB或.RLE作扩展名)。
C++ 语言
64,637
社区成员
250,559
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章