QPixmap加载bmp图片失败?

中才德创 2012-08-03 04:39:20
m_pPixmapSource = new QPixmap();
bool bRet = m_pPixmapSource->load(strPath);

看bRet结果,发现jpg可以,bmp不行。这是为什么?
...全文
480 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jinjianxinxh 2012-08-13
  • 打赏
  • 举报
回复
bool QPixmap::load ( const QString & fileName, const char * format = 0, Qt::ImageConversionFlags flags = Qt::AutoColor ) 用这个方法可以判断是否加载失败吧
中才德创 2012-08-12
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

为何不直接 pixmap = QPixmap(path) ?
[/Quote]主要是没有返回值,失败也不知。
中才德创 2012-08-10
  • 打赏
  • 举报
回复
一直以为是代码取矩形小方框引起的。后来发现,图片像被加密了一样,另存一次再用就可以了。
void calculateMiniRect()
{
//矩形小方框
int x1 = m_rectOfRedLine.left();
int x2 = m_rectOfRedLine.right();
int y1 = m_rectOfRedLine.top();
int y2 = m_rectOfRedLine.bottom();
int w = m_rectOfRedLine.width() / 2;
int h = m_rectOfRedLine.height() / 2;

//左上角小方块
m_rcTopLeft.setLeft(x1);
m_rcTopLeft.setRight(x1 + 4);
m_rcTopLeft.setTop(y1);
m_rcTopLeft.setBottom(y1 + 4);

//右上角小方块
m_rcTopRight.setLeft(x2 - 4);
m_rcTopRight.setRight(x2);
m_rcTopRight.setTop(y1);
m_rcTopRight.setBottom(y1 + 4);

//左下角小方块
m_rcBottomLeft.setLeft(x1);
m_rcBottomLeft.setRight(x1 + 4);
m_rcBottomLeft.setTop(y2 - 4);
m_rcBottomLeft.setBottom(y2);

//右下角小方块
m_rcBottomRight.setLeft(x2 - 4);
m_rcBottomRight.setRight(x2);
m_rcBottomRight.setTop(y2 - 4);
m_rcBottomRight.setBottom(y2);

//正左方方块
m_rcLeftMiddle.setLeft(x1);
m_rcLeftMiddle.setRight(x1 + 4);
m_rcLeftMiddle.setTop(y1 + h - 2);
m_rcLeftMiddle.setBottom(y1 + h + 2);

//正右方方块
m_rcRightMiddle.setLeft(x2 - 3);
m_rcRightMiddle.setRight(x2);
m_rcRightMiddle.setTop(y1 + h - 2);
m_rcRightMiddle.setBottom(y1 + h + 2);

//正上方方块
m_rcTopMiddle.setLeft(x1 + w - 2);
m_rcTopMiddle.setRight(x1 + w + 2);
m_rcTopMiddle.setTop(y1);
m_rcTopMiddle.setBottom(y1 + 4);

//正下方方块
m_rcBottomMiddle.setLeft(x1 + w - 2);
m_rcBottomMiddle.setRight(x1 + w + 2);
m_rcBottomMiddle.setTop(y2 - 4);
m_rcBottomMiddle.setBottom(y2);
}
就这样好了 2012-08-10
  • 打赏
  • 举报
回复
为何不直接 pixmap = QPixmap(path) ?
中才德创 2012-08-06
  • 打赏
  • 举报
回复
无人知晓???

16,240

社区成员

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

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