已经下载安装了GraphicEx,但是显示不出tif图像。
提示:cannot load image.The cpmpression scheme is not supported for TIF/TIFF files. 

解决方案 »

  1.   

    GraphicEx没有用过,是否为版本问题
    N久之前用过另外一个控件,名称一下子想不起来了,
      

  2.   

    not supported for TIF/TIFF files,不支持啊
      

  3.   

    GraphicEx部分代码:
          case Compression of
            ctNone:
              ;
            {$ifdef UseLZW}
            ctLZW:
              Decoder := TTIFFLZWDecoder.Create;
            {$endif}
            ctPackedBits:
              Decoder := TPackbitsRLEDecoder.Create;
            ctFaxRLE,
            ctFaxRLEW:
              Decoder := TCCITTMHDecoder.Create(GetValue(TIFFTAG_GROUP3OPTIONS),
                                                ioReversed in Options,
                                                Compression = ctFaxRLEW,
                                                Width);
            ctFax3:
              Decoder := TCCITTFax3Decoder.Create(GetValue(TIFFTAG_GROUP3OPTIONS), ioReversed in Options, False, Width);
            ctJPEG:
              begin
                // some extra work is needed for JPEG
                GetValueList(Stream, TIFFTAG_JPEGTABLES, JPEGTables);            Decoder := TTIFFJPEGDecoder.Create(@FImageProperties);
              end;
            ctThunderscan:
              Decoder := TThunderDecoder.Create(Width);
            ctLZ77:
              Decoder := TLZ77Decoder.Create(Z_PARTIAL_FLUSH, True);
          else
            {
            COMPRESSION_OJPEG,
            COMPRESSION_CCITTFAX4
            COMPRESSION_NEXT
            COMPRESSION_IT8CTPAD
            COMPRESSION_IT8LW
            COMPRESSION_IT8MP
            COMPRESSION_IT8BL
            COMPRESSION_PIXARFILM
            COMPRESSION_PIXARLOG
            COMPRESSION_DCS
            COMPRESSION_JBIG}
            GraphicExError(gesUnsupportedFeature, [gesCompressionScheme, 'TIF/TIFF']);
          end;注释掉部分压缩格式不支持
      

  4.   

    我用的 GraphicEX V9.9, 完全没问题啊
      

  5.   

    找到tiff文件格式的介绍,自己写试试
      

  6.   

    我记得是在 一个 ini 还是inc 文件里设置一下开关才能支持。
      

  7.   

    TIFF只是一种容器格式,GraphicEx只支持一些常见的tiff图像格式,不支持你的TIFF图是正常的。另外GraphicEx在颜色空间转换上有严重问题,YCrCb支持不全,CIELab/CMYK转RGB有严重色偏。 支持格式最多的开源库是libtiff,像JPEG2000这类的压缩格式都可以通过调用其它库实现。完全用纯C开发完成,如果有相关经验,是可以将其封装成JPEGImage类似的class的。只需要自己补充一些C库函数。 有兴趣可以看看libtiff中的tiff.h,看看其中Tag的定义,你就能知道现有比较流行的利用TIFF做容器格式的图像格式有多少了。 像其它的一些Pascal写的库,基本上只支持存成TIFF的不压缩RGB位图,我想这对多数人来说,基本无难度可言。而这些代码基本上也没有实用价值。 其实连GDI+对TIFF的支持都非常糟糕。 uses   Jpeg,hhx_tiff   //加入头文件 var   
    Tif:TTIFFFile; 
    Jpg:TJpegImage; begin 
          Tif:=TTIFFFile.Create; 
          Tif.LoadFromFile(FIleName); 
          Jpeg:=TJpegImage.Create; 
          Jpeg.Assign(Tif); 
          Tif.Free; 
          Jpeg.SaveToFile(SaveName); 
          Jpeg.Free; 
    end;   
      

  8.   

    不過,還是建議安裝一下ImageEn的第三方控件,摸索一下DEMO,再拖個控件到窗體上直接顯示tif
      

  9.   

    谢谢几位。现GraphicEx还是不能显示,但是利用imgedit能够显示,但是失真严重。
    现在我利用GDI+,可以较清楚的显示出TIF图像,由于刚上手,遇到问题:利用GDI+,在Timage中,显示图像的原始尺寸,图片大小超过Timage时能否实现在Timage中有滚动条,能够查看完整图像。现在只是看到了Timage大小的部分图像。
      

  10.   

    img:=TGPImage.Create('d:\00000008.TIF');
    g := TGPGraphics.Create(image1.Canvas.Handle);
    g.DrawImage(img, 0, 0,img.getWidth,img.getHeight);只能在image1中显示其大小的一块图像,怎样使其有滚动条能够查看完整图像。