怎样识别图像的格式?(50分)

J

jdelphi

Unregistered / Unconfirmed
GUEST, unregistred user!
一幅图片,怎样知道是bmp还是jpg的?
 
没有扩展名吗。
只在屏幕上显示,不能知道吧!
 
任何图型文件都有一个文件头,里边记录着图片的长和宽还有分辨率一类的数据,要不AcdSee是怎么把没有扩展名的图型文件显示出来的?[8D]
 
可以根据图像的文件头来识别,bmp和jpg的文件头不同。
 
怎样根据图像的文件头来识别?
 

读写文件的方式很多,你用ultraedit随便打开一个bmp文件与一个jpg文件,看看文件头有什么区别。
我有文件格式,如果需要,留个email。
 
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtDlgs, StdCtrls, ExtCtrls, Jpeg;

type
TForm1 = class(TForm)
Image1: TImage;
Button1: TButton;
Button2: TButton;
OpenPictureDialog1: TOpenPictureDialog;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenPictureDialog1.Execute and FileExists(OpenPictureDialog1.FileName)then
Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
if Image1.Picture.Graphic is TBitmap then
ShowMessage('Bmp')
else if Image1.Picture.Graphic is TJPEGImage then
ShowMessage('Jpeg')
end;

end.
 
文件头第1个字节
$00 Icon
$42 Bmp
$FF JPEG
 
在图标上,单击右键,出现属性框你就会知道啦,嘿嘿,给我10分吧,好不好?
 
to 影 子:
jjdelphi#163.net
 
koolwind 这个也能加分啊?
 
多人接受答案了。
 
顶部