c语言读取jpg字节,我要用C语言调用输出一个jpg格式的图片,那位大师写个源程序给我看看,不胜感激啊...

程序返回内存设备的对象,pDC是设备兼容的对象(CreateCompatibleDC(pDC);需要这个参数)

pwidth用于接收图片的实际宽度,pheight接收高

对于返回的CDC使用bitblt来绘制,本代码是用MFC写的,

如果你懂MFC那最好,注意使用完记得调用FreeBmp释放内存

代码这么多其实主要是考虑到错误处理,真正操作图片的代码就不多,就是读取文件数据然后调用CreateDIBitmap再seleteobject而已

CDC*LoadBmp(CString fileName,CDC*pDC,int *pwidth,int *pheight){

CFile cf;//文件变量,用来对文件操作

CFileException e;//出错处理

BITMAPFILEHEADER bmfh;//BMP文件头变量

BITMAPINFOHEADER bmih;//BMP文件信息变量

BYTE *pData;//原始数据

CDC *pMem;//内存设备

HBITMAP hBitmap;//位图

int n;//图象数据中BYTE的个数

int width;//4倍对齐后的宽

if (!cf.Open(fileName,CFile::modeRead, &e))//找到文件后,打开文件

{

MessageBox(NULL,"文件被其他程序占用了","",MB_OK);

return NULL;

}

cf.SeekToBegin();

cf.Read(&bmfh,sizeof(bmfh));//读取文件头

cf.Read(&bmih,sizeof(bmih));//读取文件信息头

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值