QPixmap::loadFromData载入图片总是不成功

北家哥们 2016-06-06 05:19:04
bool CPictureEx::LoadFile(char *pFileName)
{
if(pFileName == NULL) return FALSE; //pFileName是所要打开的图片所在的目录
bool bRet = TRUE;

// 打开文件
QFile file(QString::fromLocal8Bit(pFileName));
if (!file.open(QIODevice::Unbuffered | QIODevice::ReadOnly)) return FALSE;
qint64 uiSize = file.size();
char *pData = new char[uiSize];
if(!pData) bRet = FALSE;
if(bRet)
if(file.read(pData,uiSize) != uiSize) bRet = FALSE;

file.close();

// 加载图像
if(bRet)
{
QPixmap *pPixmap = new QPixmap;
if (!pPixmap->loadFromData((const uchar *)pData, uiSize,0,Qt::AutoColor))
{
delete pPixmap;
return FALSE;
}
}
}
...全文
2437 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
百足飞天蜈蚣 2019-04-29
  • 打赏
  • 举报
回复
二进制打开文件,把图片数据保存在bytes里,然后再从bytes加载 QPixmap pix; pix.loadFromData(bytes);
hust259 2016-07-15
  • 打赏
  • 举报
回复
这代码看到我尴尬症犯了。 为啥QPixmap还得new? 关键new完load失败,等着操作系统去释放是不是?
北家哥们 2016-07-13
  • 打赏
  • 举报
回复
载入png图片可以,gif、jpg都不可以
北家哥们 2016-06-08
  • 打赏
  • 举报
回复
我是在VS2013里应用的,就是不行,试过了怎么都不行
Z_墨脱 2016-06-08
  • 打赏
  • 举报
回复
D:\\NK6000\\resource\\image\\1.jpg \\ 换成/我这个是有值得
北家哥们 2016-06-08
  • 打赏
  • 举报
回复
为啥要loadFromData这样加载图片呢,是有什么需要吗 这样就可以了,fileName文件路径 QPixmap pix(fileName); 。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 是还有别的用途,我得判断文件头的东西,所以得用pData,所以我得用file.read(pData,uiSize) 另外 我用了这个 QPixmap *pPixmap = new QPixmap(("D:\\NK6000\\resource\\image\\1.jpg")); QSize size = pPixmap->size(); 可是为什么size为0呢,确实是有图片的
北家哥们 2016-06-08
  • 打赏
  • 举报
回复
我用了这个 QPixmap *pPixmap = new QPixmap(("D:\\NK6000\\resource\\image\\1.jpg")); QSize size = pPixmap->size(); 可是为什么size为0呢,确实是有图片的
冷静忍耐 2016-06-08
  • 打赏
  • 举报
回复
引用 4 楼 u014645194 的回复:
为啥要loadFromData这样加载图片呢,是有什么需要吗 这样就可以了,fileName文件路径 QPixmap pix(fileName); 。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 是还有别的用途,我得判断文件头的东西,所以得用pData,所以我得用file.read(pData,uiSize) 另外 我用了这个 QPixmap *pPixmap = new QPixmap(("D:\\NK6000\\resource\\image\\1.jpg")); QSize size = pPixmap->size(); 可是为什么size为0呢,确实是有图片的
QPixmap pixmap; pixmap.load(":/image/1.jpg"); 这样确实是可以获取大小的。 或者转化为QImage看下大小: QImage image = pixmap.toImage(); QSize size = image->size();
冷静忍耐 2016-06-07
  • 打赏
  • 举报
回复
为啥要loadFromData这样加载图片呢,是有什么需要吗 这样就可以了,fileName文件路径 QPixmap pix(fileName);
北家哥们 2016-06-07
  • 打赏
  • 举报
回复
求助解答啊,哪位大神知道的指点一下

16,216

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧