• 9768阅读
  • 17回复

关于label显示tif格式的图片问题,求救啊~ [复制链接]

上一主题 下一主题
离线aoxuehan
 

只看楼主 倒序阅读 楼主  发表于: 2009-10-08
我刚刚接触qt,在做一个项目的ui的时候,需要载入tif格式的图片,我用label成功的载入了jpg,bmp等文件,label都能成功显示,但是载入tif文件的话,label就没反应了,没有显示出来图片。
图片部分代码如下:
  1.  openFileName = QFileDialog::getOpenFileName(this,tr("Open Image"), "/home/picture", tr("Image Files (*.png *.tif *.jpg *.bmp)"));     //打开文件
  2.  if (!openFileName.isEmpty())
  3.     label->setText("当前文件:" + openFileName);                               //用于一个状态的label
  4.  label_2->setPixmap(QPixmap(openFileName));                   //就是这里,如果是tif图片的话,就不能显示,如果是其他格式的图片就可以.
  5.  scrollArea->setWidget(label_2);                                      //滚动条
  6.  scrollArea->show();


刚接触qt,望各位指教啊~
3Q3Q3Q~~
常梦想自己是地主家的少爷
整天游手好闲,不学无术
没事儿带着一帮狗奴才在大街上调戏良家妇女。
离线rqzrqh

只看该作者 1楼 发表于: 2009-10-08
好奇怪,查看plugins/imagesformats下面的库文件发现没有png的库,但还是可以显示png图片
离线dbzhang800

只看该作者 2楼 发表于: 2009-10-08
png 的支持是Qt内置的,不是靠插件实现的
离线aoxuehan

只看该作者 3楼 发表于: 2009-10-08
就是就是
诡异啊~~~
常梦想自己是地主家的少爷
整天游手好闲,不学无术
没事儿带着一帮狗奴才在大街上调戏良家妇女。
离线aoxuehan

只看该作者 4楼 发表于: 2009-10-08
引用第2楼dbzhang800于2009-10-08 09:30发表的  :
png 的支持是Qt内置的,不是靠插件实现的


那tiff的怎么显示呢?
plugins/imagesformats下有tiff的库啊!
难道是label不能显示tiff?
不应该啊~ 昨天查资料看见一个人问管理label显示的图片的位置问题。 只是问的其他问题,并没有说label没有把他给出的范例的tiff文件显示出来啊!
常梦想自己是地主家的少爷
整天游手好闲,不学无术
没事儿带着一帮狗奴才在大街上调戏良家妇女。
离线rqzrqh

只看该作者 5楼 发表于: 2009-10-08
先试试用tif图片作为总部件的背景
离线aoxuehan

只看该作者 6楼 发表于: 2009-10-08
引用第5楼rqzrqh于2009-10-08 10:35发表的  :
先试试用tif图片作为总部件的背景



我先去试试~
常梦想自己是地主家的少爷
整天游手好闲,不学无术
没事儿带着一帮狗奴才在大街上调戏良家妇女。
离线aoxuehan

只看该作者 7楼 发表于: 2009-10-08
不行
用其他jpg文件都可以以背景的形式显示出来
但是tif不行。。。
显示出来的是全黑色。。
常梦想自己是地主家的少爷
整天游手好闲,不学无术
没事儿带着一帮狗奴才在大街上调戏良家妇女。
离线dbzhang800

只看该作者 8楼 发表于: 2009-10-08
会不会是因为你的tif文件本身不够标准,换张图片或者用其他软件生成一张tif图片试试呢?
离线aoxuehan

只看该作者 9楼 发表于: 2009-10-08
我也这样想过。但是没有其他tif文件了
呵呵
估计是tif的问题。我的tif是直接从一个文字识别OCR开发包文件夹里面的。 那个软件都能打开。
哎~
吃饭去
回来好好琢磨琢磨!
谢谢哈~
常梦想自己是地主家的少爷
整天游手好闲,不学无术
没事儿带着一帮狗奴才在大街上调戏良家妇女。
离线aoxuehan

只看该作者 10楼 发表于: 2009-10-08
最新状况是:
    foreach(QByteArray format,QImageReader::supportedImageFormats())
        filters+="*." + format;        
用这段代码设置的过滤器,居然把tif文件也过滤了~~~
我随便建立一个记事本,把后缀改成.jpg都没过滤掉。。。
郁闷啊~
版主在不???
常梦想自己是地主家的少爷
整天游手好闲,不学无术
没事儿带着一帮狗奴才在大街上调戏良家妇女。
离线dbzhang800

只看该作者 11楼 发表于: 2009-10-08
吧 你的 .tif 文件 改成 .tiff
离线aoxuehan

只看该作者 12楼 发表于: 2009-10-08
引用第11楼dbzhang800于2009-10-08 19:16发表的  :
吧 你的 .tif 文件 改成 .tiff


刚刚试过了~ 还是不行。。
  1. foreach(QByteArray format,QImageReader::supportedImageFormats())
  2.     filters+="*." + format;    

这段代码之后生成的的过滤器里面,都没有tiff,其他的图片格式都有
常梦想自己是地主家的少爷
整天游手好闲,不学无术
没事儿带着一帮狗奴才在大街上调戏良家妇女。
离线dbzhang800

只看该作者 13楼 发表于: 2009-10-08
那你可能要好好检查你安装的Qt环境了,

  1.     QList<QByteArray> aa = QImageReader::supportedImageFormats();
  2.     foreach (QByteArray a , aa)
  3.     {
  4.         qDebug(a.data());
  5.     }


我Ubuntu9.10下的结果运行结果

BW
EPS
EPSF
EPSI
EXR
PCX
PSD
RGB
RGBA
SGI
TGA
XCF
bmp
bw
dds
eps
epsf
epsi
exr
gif
ico
jp2
jpeg
jpg
mng
pbm
pcx
pgm
png
ppm
psd
rgb
rgba
sgi
svg
tga
tif
tiff
xbm
xcf
xpm
xv
离线aoxuehan

只看该作者 14楼 发表于: 2009-10-09
bmp
gif
ico
jpeg
jpg
mng
pbm
pgm
png
ppm
svg
xbm
xpm

果然, 差很多啊~
该怎么办啊?
常梦想自己是地主家的少爷
整天游手好闲,不学无术
没事儿带着一帮狗奴才在大街上调戏良家妇女。
离线aoxuehan

只看该作者 15楼 发表于: 2009-10-09
但是我qt目录下搜索出来,有tiff的库文件啊:
有dll的,有源代码形式的~
常梦想自己是地主家的少爷
整天游手好闲,不学无术
没事儿带着一帮狗奴才在大街上调戏良家妇女。
离线aoxuehan

只看该作者 16楼 发表于: 2009-10-09
dbzhang800
大侠
请看看这个帖子
经过我到现在的奋战,终于把这2个问题解决了问题,找到根源,但是根源怎么解决?
这个好像跟QT有关吧~
http://www.qtcn.org/bbs/read.php?tid=22544

大概就是~  我在自己电脑上,假设有5种支持的supportedImageFormats
在同学电脑上运行,只有3种支持的格式~
这个怎么弄啊? 是不是还要复制dll一起发布啊???
常梦想自己是地主家的少爷
整天游手好闲,不学无术
没事儿带着一帮狗奴才在大街上调戏良家妇女。
离线aoxuehan

只看该作者 17楼 发表于: 2009-10-10
dbzhang800
能不能把你qt安装路径\qt\plugins下面的imageformats文件夹打包发出来啊? 我试一试你的这些库!
我用不同的这个文件夹试,发现识别的图片种类数不同,还是库函数的问题
3Q3Q3Q~~
常梦想自己是地主家的少爷
整天游手好闲,不学无术
没事儿带着一帮狗奴才在大街上调戏良家妇女。
快速回复
限100 字节
 
上一个 下一个