如何知道image中的图片的格式(jpg,bmp等)

解决方案 »

  1.   

    打开image的流,前面28个字节记录文件的类型
      

  2.   

    既然导入了image中,就不用管它是什么格式了,你想把它存成什么就是什么.
      

  3.   

    if image1.Picture.Graphic <> nil then
            showmessage(image1.Picture.Graphic.ClassName)
      

  4.   

    呵呵,上面几位说得这么抽象啊
    楼主只要用extractfileext获得文件的后缀名,然后就知道了啊
    这个函数的返回值类型是AnsiString
    如果要在程序中实现自动判断的话就可以用uppercase把上面函数返回值转换成大写,然后再比较就行了
    下面是我在一个图像浏览器中写的一段代码:
    procedure TForm1.FileListBox1Click(Sender: TObject);
    var
    fileext:AnsiString;
    begin
    fileext:=extractfileext(filelistbox1.filename);
         fileext:=uppercase(fileext);
         if (fileext='.BMP') or (fileext='.ICO') or (fileext='.EMF') or (fileext='.WMF')
         or (fileext='.JPG') or (fileext='.JPEG') or (fileext='.gif') then
         begin
          image1.Picture.LoadFromFile(filelistbox1.FileName);
          image1.Width:=image1.Picture.Width;
          image1.Height:=image1.Picture.Height;
        end  ;end;
      

  5.   

    用image1.picture.graphic.classname就可以返回图像格式的字符串
    返回值为:TJPEGimage   //.JPG 文件
            TBitmap      //.BMP 文件
            TIcon        //.ICO 文件