网络上搜索了一下处理tif格式的网页 无非GraphicEx.和LibTiffDelphi
GraphicEx.附带的sample好像不能载入tif
LibTiffDelphi没sample 搞了很久没弄出来 求大家给个方向了 谢谢!~  

解决方案 »

  1.   

    用GDI+
    它的bitmap构造函数很简单,
    只要MS支持的图片,都行
    如:bitmap *map=new bitmap(L"tif.tif");
    网上有Delphi的接口,自已找
    ----------------------
    var
      bmp:TBitmap;
      pgdbmp:TPGBitmap;
    begin
      pgdbmp:=TPGBitmap.create('tif.tif');
      bmp.handel:=pgdbmp.handle;  //然后将bmp的图像给image
      image.picture.assign(bmp);
    end;
    ----------------------
    思路是对的,可能函数,类名写错了.
      

  2.   


    procedure TForm1.Button13Click(Sender: TObject);
      var FGraphics : TGpGraphics;
          FImage    : TGPImage;
          Rect : TGpRect;
    begin
      try
        FGraphics  := TGpGraphics.Create(Image1.Canvas.Handle);
        Rect := GpRect(image1.ClientRect); 
         FImage := TGPImage.Create('4.tif');
        FGraphics.DrawImage(FImage,Rect,0,0,image1.Width,image1.Height,utPixel); 
      Finally
        FGraphics.Free;
        FImage.Free;
      end;
    end;
      

  3.   

    没用过 tif, 没用过 TGpGraphics
      

  4.   

    呵呵,看来大家都忽略掉一点了,TIF 其实是一个图片的容器,里面可以包括N张图片,所以如果你只是单纯的用
        FImage := TGPImage.Create('4.tif');
        FGraphics.DrawImage(FImage,Rect,0,0,image1.Width,image1.Height,utPixel); 这样显示出来的只是第一帧图片,为了能显示出TIF里的所有图片,所以你还必须得调用 TGpImage.GetFrameCount 得到帧的数量,
    然后再一 调用 TGpImage.SelectActiveFrame 把里面的图片一张一张的读出来。另外,附加一点:GDI++是对图片支持比较好的一种选择,上述办法也同样可以读取出GIF 里的图片帧。