用MFC打开BMP图片后怎么读取图片的数据
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励10(财富值+成长值)+提问者悬赏150(财富值+成长值)
1个回答
展开全部
MFC使用的是基于GDI的封装,在图片中容易留下锯齿等等。我试过,在有些图片下相当失真。建议使用Gdiplus。首先
#include <Gdiplus.h>
#pragma comment(lib, "gdiplus.lib")
using namespace Gdiplus;
然后是初始化:
ULONG_PTR gdiplusToken;
GdiplusStartupInput gdiplusStartupInput;
GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);
退出程序用
GdiplusShutdown(gdiplusToken);
然后,加载图片就简单了,直接Image img(TEXT("C:\\a.bmp"));,并且效果相当好
#include <Gdiplus.h>
#pragma comment(lib, "gdiplus.lib")
using namespace Gdiplus;
然后是初始化:
ULONG_PTR gdiplusToken;
GdiplusStartupInput gdiplusStartupInput;
GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);
退出程序用
GdiplusShutdown(gdiplusToken);
然后,加载图片就简单了,直接Image img(TEXT("C:\\a.bmp"));,并且效果相当好
追答
gdip下长/宽使用img.GetWidth()、img.GetHeight()获取。关于图像大小吧,不太明白你的含义,如果是图片文件的大小的话,每种格式的大小不一样,可以先指定一种格式然后把图片保存为临时文件再获取大小。如果是硬盘中已存在的文件那么直接获取文件大小就行了。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询