请问如何得到一个图片的分辨率,谢谢

解决方案 »

  1.   

    导入 Image1:TImage
    Image1.Picture.Height
    Image1.Picture.Width
      

  2.   

    Image.autosize := true;
    Image1.Picture.Height
    Image1.Picture.Width
      

  3.   

    以前各位大哥的代码是获得像素的长和宽,在这个论坛里找找我贴过代码的,JPG文件是放在文件头部第15,16两个字节的位置上你读出来后把16进制转成10进制就可以了
      

  4.   

    以下代码可以得到图像分辨率:var
      s: TfileStream;
       buf:byte;
       aa,bb,cc:string;
    begin
      form1.OpenDialog1.Execute; 
      s:= TfileStream.Create(opendialog1.FileName, fmOpenRead);
      s.Seek(14, soFromBeginning); 
      s.Read(buf,1); 
      aa:=IntToHex(buf,2);
      s.Read(buf,1);
      bb:=IntToHex(buf,2);
      cc:=aa+bb;
      label2.Caption:=inttostr(strtoint('$'+cc));
      s.Free ;
    end;
      

  5.   

    上边的是Jpg的
    下边是BMP的
    var
      FormImage: TBitmap;
      Info: PBitmapInfo;
      InfoSize: DWORD;
      Image: Pointer;
      ImageSize: DWORD;
      Bits: HBITMAP;
      DIBWidth, DIBHeight: Longint;
      px,py:integer;
      Size: TPoint;
    begin
        FormImage := Tbitmap.Create;
        formimage.loadfromfile('xxxxxxxx');
        try
            Bits := FormImage.Handle;
            GetDIBSizes(Bits, InfoSize, ImageSize);
            Info := AllocMem(InfoSize);
            Image := AllocMem(ImageSize);
            GetDIB(Bits, 0, Info^, Image^);            with Info^.bmiHeader do
                begin
                  DIBWidth := biWidth;
                  DIBHeight := biHeight;
                  px:=biXPelsPerMeter; //每米的象素
                  py:=biXPelsPerMeter; //每米的象素
                end;
        finally;
       formImage.free;