1、//取Exif信息function GetExifItem(GPImage:TGPImage;ItemID: PROPID): String;var PropSize: UINT; PropItem: PPropertyItem; SChar; S1,S2:String;begin PropSize := GPImage.GetPropertyItemSize(ItemID); if PropSize=0 then begin Result:=''; Exit; end; GetMem(PropItem ,PropSize); GPImage.GetPropertyItem(ItemID, PropSize, PropItem); //字符 if PropItem.type_= PropertyTagTypeASCII then begin Result:=PChar(PropItem.Value); end; //分数 if (PropItem.type_= PropertyTagTypeRational) or (PropItem.type_=PropertyTagTypeSRational) then begin S:=PChar(PropItem.Value); S1:=IntToHex(Ord(S[3]),2)+IntToHex(Ord(S[2]),2)+ IntToHex(Ord(S[1]),2)+IntToHex(Ord(S[0]),2); S2:=IntToHex(Ord(S[7]),2)+IntToHex(Ord(S[6]),2)+ IntToHex(Ord(S[5]),2)+IntToHex(Ord(S[4]),2); Result:=IntToStr(StrToInt('$'+S1))+'/'+IntToStr(StrToInt('$'+S2)); end; //数字 if PropItem.type_= PropertyTagTypeShort then begin S:=PChar(PropItem.Value); S1:=IntToHex(Ord(S[1]),2)+IntToHex(Ord(S[0]),2); Result:=IntToStr(StrToInt('$'+S1)); end; //字节{if PropItem.type_= PropertyTagTypeByte then begin S:=PChar(PropItem.Value); S1:=IntToHex(Ord(S[1]),2)+IntToHex(Ord(S[0]),2); Result:=IntToStr(StrToInt('$'+S1)); end;} FreeMem(PropItem);end;