|
|
|
- 支持Exif 2.21 / GPS / IPTC信息查看
- 支持TIFF6及常用软件扩展Exif标记.
- 支持Canon, Nikon, Sony, Fujifilm, Sigma等主流厂商的注释标记.
- 可点击查看相机型号资料和评测数据
- 可选择, 复制和保存Exif列表项内容
- 与Windows系统及IE浏览器集成. 可通过拖拉图像或右键菜单方式调用
|
|
范例1: 遍历图像中所有Exif项 |
<%@ Language=VBScript %>
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
</HEAD>
<BODY>
<%
ON ERROR RESUME NEXT
Set Exif=Server.CreateObject("IExifAsp.Parser")
result = Exif.LoadImage("c:\upload\test.jpg")
IF result > 0 THEN
' 取图像的宽高
w = Exif.GetWidth()
h = Exif.GetHeight()
Response.Write("Image Size = " + CStr(w) + " x " + CStr(h) + "<br>")
' 遍历所有Exif项
FOR i=0 TO result-1
id = Exif.GetItemByIndex(i)
name = Exif.GetName(id)
value = Exif.GetValue(id)
Response.Write(name + " = " + value + "<br>")
NEXT
END IF
%>
</BODY>
</HTML>
显示结果如下:
----------------------------------
Image Size = 600 x 400
图像标题 = Communications
厂商 = FUJIFILM
机型 = FinePixS1Pro
方向 = 上/左
水平分辨率 = 300
垂直分辨率 = 300
分辨率单位 = 英寸
软件 = Adobe Photoshop 7.0
修改时间 = 2002-07-19 13:28:10
作者 = Ian Britton
YCbCr定位 = co-sited
基准黑白色 = [0/1 255/1 128/1 255/1 128/1 255/1]
版权 = ian Britton - FreeFoto.com
Exif IFD Pointer = 偏移: 376
GPS Info IFD Pointer = 偏移: 776
光圈 = F0.64
曝光程序 = 快门先决
ISO 感光度 = 0
Exif 版本 = 0200
拍摄时间 = 2002-07-13 15:58:28
数字化时间 = 2002-07-13 15:58:28
分量配置 = YCbCr
TV 快门速度 = 9.5 TV
AV 光圈值 = 8 AV
BV 亮度值 = 0.26 BV
曝光补偿 = -0.65EV
测光模式 = 评估
闪光 = 关闭
焦距 = 0mm
Flashpix 版本 = 0100
色彩空间 = sRGB
Exif 图像宽度 = 2400
Exif 图像高度 = 1600
焦平面水平分辨率 = 12.051
焦平面垂直分辨率 = 12.051
焦平面分辨率单位 = 英寸
传感类型 = One-chip color area sensor
文件来源 = 其他
场景类型 = 00
GPS 版本 = 2.0
GPS 纬度参考 = 北纬
GPS 纬度 = 54°59.38'
GPS 经度参考 = 西经
GPS 经度 = 1°54.85'
GPS 时间戳 = 14:58:24 UTC
GPS 地图资料 = WGS84
压缩类型 = JPEG 压缩 (缩略图)
水平分辨率 = 72
垂直分辨率 = 72
分辨率单位 = 英寸
JPEG 缩略图起始位置 = 偏移: 1038
JPEG 缩略图数据长度 = 长度: 3662
缩略图 = 3662 Byte
|
范例2: 读取指定的Exif项 |
<%@ Language=VBScript %>
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
</HEAD>
<BODY>
<p>
<%
ON ERROR RESUME NEXT
Set Exif=Server.CreateObject("IExifAsp.Parser")
result = Exif.LoadImage("c:\web\test1.jpg")
IF result > 0 THEN
' 厂商
id = &H0101010F
name = Exif.GetName(id)
value = Exif.GetValue(id)
Response.Write(name + " = " + value + "<br>")
' 机型
id = &H01010110
name = Exif.GetName(id)
value = Exif.GetValue(id)
Response.Write(name + " = " + value + "<br>")
' 快门
id = &H0102829A
name = Exif.GetName(id)
value = Exif.GetValue(id)
Response.Write(name + " = " + value + "<br>")
' 光圈
id = &H0102829D
name = Exif.GetName(id)
value = Exif.GetValue(id)
Response.Write(name + " = " + value + "<br>")
' ISO 感光度
id = &H01028827
name = Exif.GetName(id)
value = Exif.GetValue(id)
Response.Write(name + " = " + value + "<br>")
' 曝光补偿
id = &H01029204
name = Exif.GetName(id)
value = Exif.GetValue(id)
Response.Write(name + " = " + value + "<br>")
' 测光模式
id = &H01029207
name = Exif.GetName(id)
value = Exif.GetValue(id)
Response.Write(name + " = " + value + "<br>")
END IF
%>
</BODY>
</HTML> |
IExifAsp 组件函数说明 |
创建IExif解析器 Set IExif = Server.CreateObject("IExifAsp.Parser") |
读取JPEG格式图像文件, 图像文件名应为绝对路径
result = IExif.LoadImage( Filename )
参数:
Filename 图像文件名 (字符型)
返回值:
成功返回读取到的 Exif 列表总行数
失败返回 -1 |
读取指定Exif项的名称
value = IExif.GetName(ItemID)
参数:
ItemID: 指定Exif项目的ID (长整型)
返回值
如果指定项存在, 返回指定项的名称 (字符型)
失败返回空字符串
备注: Exif 项的 ID 值请查阅 IExifAsp 安装目录下的 ExifLib_zh_CN.ini 文件中
用 [ ] 括起的数字部分即为对应 Exif 项 ID 值, 该值是以 16 进制表示, 在
ASP 中使用时前面要加上 &H
例如: 在 ExifLib_zh_CN.ini 文件中有以下内容
[01010110]
Title=机型
Desc=Model of image input equipment
则 [01010100] 中的 01010100 即为机型的ID值, 在ASP中记为 &H01010100
其中 "机型" 即为该Exif项的显示名称, 你可以通过修改此值以改变 IExif.GetName()
所返回的项目名称
注意: IExifASP 支持 [02020001] 此行以前的所有ID。 |
读取指定Exif项的值
value = IExif.GetValue(ItemID)
参数:
ItemID: 指定Exif项目的ID (长整型)
返回值
如果指定项存在, 返回指定项的值 (字符型)
失败返回空字符串 |
从已读入的Exif列表中返回指定行的Exif项ID值
ItemID = IExif.GetItemByIndex(Index)
参数:
Index: Exif列表行号, 行号从0开始 (长整型)
返回值
如果指定行号存在, 返回对应该行的Exif项的ID值 (长整型)
失败返回 0 |
获取图像实际宽度
width = IExif.GetWidth()
参数: 无
返回值
成功返回图像实际宽度
失败返回0 |
获取图像实际高度
height = IExif.GetWidth()
参数: 无
返回值
成功返回图像实际高度
失败返回0 |
|
|