CImage类怎么在多字节字符集中使用
CImage类如何在多字节字符集中使用
CImage类(好像仅提供Unicode版本的函数)如何在多字节字符集中使用,我定义CImage mg;就提示CImage找不到!! 把环境换成unicode 环境就好!!
------解决方案--------------------
跟字符集没关系,我一直在多字符集下使用CImage类处理JPG图片(VS2005版本)。
包含#include <atlimage.h>头文件了吗?
------解决方案--------------------
和字符集应该没关系
不然你改成unicode 把工程属性
------解决方案--------------------
CImage img;
img.LoadFromResource(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDB_BITMAP1));
可以使用 没问题!
------解决方案--------------------
到目前为止,个人认为楼主的问题很奇葩,我用VS2010测试了一遍,没有出现问题,随便加载了一幅JPG图片,效果如图所示。
附全部代码:
头文件:
#include <atlimage.h>
CPP文件,重载OnPait()函数如下
void CTestImageView::OnPaint()
{
CPaintDC dc(this); // device context for painting
// TODO: 在此处添加消息处理程序代码
// 不为绘图消息调用 CView::OnPaint()
char path[256];
GetCurrentDirectory(256,path);
CString filepath = path;
filepath += "\\res\\19.JPG";
image.Load(filepath);//图片路径
HBITMAP hBitmap=image.Detach();
CBitmap bmp;
bmp.Attach(hBitmap);
CDC* pdc = GetDC();
CDC memdc;
memdc.CreateCompatibleDC(pdc);
memdc.SelectObject(&bmp);
pdc->BitBlt(0,0,3000,3000,&memdc,0,0,SRCCOPY);//贴图
memdc.DeleteDC();
bmp.DeleteObject();
}
CImage类(好像仅提供Unicode版本的函数)如何在多字节字符集中使用,我定义CImage mg;就提示CImage找不到!! 把环境换成unicode 环境就好!!
------解决方案--------------------
跟字符集没关系,我一直在多字符集下使用CImage类处理JPG图片(VS2005版本)。
包含#include <atlimage.h>头文件了吗?
------解决方案--------------------
和字符集应该没关系
不然你改成unicode 把工程属性
------解决方案--------------------
CImage img;
img.LoadFromResource(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDB_BITMAP1));
可以使用 没问题!
------解决方案--------------------
附全部代码:
头文件:
#include <atlimage.h>
CPP文件,重载OnPait()函数如下
void CTestImageView::OnPaint()
{
CPaintDC dc(this); // device context for painting
// TODO: 在此处添加消息处理程序代码
// 不为绘图消息调用 CView::OnPaint()
char path[256];
GetCurrentDirectory(256,path);
CString filepath = path;
filepath += "\\res\\19.JPG";
image.Load(filepath);//图片路径
HBITMAP hBitmap=image.Detach();
CBitmap bmp;
bmp.Attach(hBitmap);
CDC* pdc = GetDC();
CDC memdc;
memdc.CreateCompatibleDC(pdc);
memdc.SelectObject(&bmp);
pdc->BitBlt(0,0,3000,3000,&memdc,0,0,SRCCOPY);//贴图
memdc.DeleteDC();
bmp.DeleteObject();
}