C++中获取图片像素的问题。。急急急!!!!
voidGetPixels(char*name){CImageimage;intlen=strlen(name)+strlen("e:\\a\\")+1;char*pat...
void GetPixels(char *name)
{
CImage image;
int len = strlen(name) + strlen("e:\\a\\") + 1;
char *path = new char[len];
strcpy(path, "E:\\a\\");
strcat(path, name);
image.Load((LPTSTR)path);//这里问什么出错,而换成
//image.Load(L"E:\\a\\a.png");就没错了,该怎么解决
f1.width = image.GetWidth();
f1.height = image.GetHeight();
}
ok了 展开
{
CImage image;
int len = strlen(name) + strlen("e:\\a\\") + 1;
char *path = new char[len];
strcpy(path, "E:\\a\\");
strcat(path, name);
image.Load((LPTSTR)path);//这里问什么出错,而换成
//image.Load(L"E:\\a\\a.png");就没错了,该怎么解决
f1.width = image.GetWidth();
f1.height = image.GetHeight();
}
ok了 展开
若以下回答无法解决问题,邀请你更新回答
展开全部
要用UNICODE编码的字符串做路径:
void GetPixels(char *name)
{
CImage image;
int len = strlen(name) + strlen("e:\\a\\") + 1;
char *path = new char[len];
strcpy(path, "E:\\a\\");
strcat(path, name);
WCHAR szWidePath[128];
long lLen = MultiByteToWideChar(CP_ACP,0,path,strlen(path),szWidePath,sizeof(szWidePath));
szWidePath[lLen] = '\0';
image.Load(szWidePath);//这里问什么出错,而换成
//image.Load(L"E:\\a\\a.png");就没错了,该怎么解决
f1.width = image.GetWidth();
f1.height = image.GetHeight();
}
void GetPixels(char *name)
{
CImage image;
int len = strlen(name) + strlen("e:\\a\\") + 1;
char *path = new char[len];
strcpy(path, "E:\\a\\");
strcat(path, name);
WCHAR szWidePath[128];
long lLen = MultiByteToWideChar(CP_ACP,0,path,strlen(path),szWidePath,sizeof(szWidePath));
szWidePath[lLen] = '\0';
image.Load(szWidePath);//这里问什么出错,而换成
//image.Load(L"E:\\a\\a.png");就没错了,该怎么解决
f1.width = image.GetWidth();
f1.height = image.GetHeight();
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询