如何确定 tiff 文件的图像尺寸?
我有一个 vbscript 脚本,我需要仔细研究 .tif 文件的目录。对于每个文件,我需要确定该文件的比例是横向还是纵向。基本上,我需要能够获取每个文件的图像尺寸。因此,我见过一些人们读取文件文件头以从 jpg 或 bmp 文件中提取此类信息的示例。有人做过同样的事情来提取 tiff 文件的尺寸吗?
I have a vbscript script and I need to chew through a directory of .tif files. For each file, I need to determine if the file is proportioned as a landscape or a portrait. Basically, I need to be able to get the image dimensions for each file. So for, I have seen some examples of people reading the file file headers to extract this sort of information from jpg or bmp files. Has anyone done the same thing to extract the dimensions for a tiff file?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在 VBScript 中,您可以通过两种方式确定图像尺寸:
使用WIA 自动化库 (下载链接,MSDN 文档,一个出色的嘿,脚本家伙!< /em> 关于该主题的文章)。注册wiaaut.dll库后,您可以使用以下简单代码:
使用
GetDetailsOf
方法读取对应的扩展文件属性。这是本机 Windows 脚本方法,因此不需要外部库;但代码较长:该脚本输出如下内容:
<块引用>
尺寸:2464 x 3248
宽度:2464 像素
高度:3248 像素
因此,如果您需要纯数字,则必须从返回的字符串中提取它们。
此方法还有另一个问题 - 属性索引(脚本开头的那些常量)在不同的 Windows 版本中是不同的,正如我在 这个答案。上述脚本适用于 Windows 7,但如果您使用其他 Windows 版本或者希望该脚本在不同的 Windows 版本上运行,则需要使用特定于版本的索引。最完整的可用属性索引列表位于此处 .
In VBScript, you can determine the image dimensions in two ways:
Using the WIA Automation Library (download link, MSDN documentation, an excellent Hey, Scripitng Guy! article on the subject). Once you have the wiaaut.dll library registered, you can use the following simple code:
Using the
GetDetailsOf
method to read the corresponding extended file properties. This is a native Windows scripting method, so no external libraries are required; but the code is longer:This script outputs something like:
so if you need plain numbers, you'll have to extract them from the returned strings.
There's also another problem with this method - the property indexes (those constants in the beginning on the script) are different in different Windows versions, as I explained in this answer. The above script is for Windows 7, but if you use another Windows versions or if you want the script to work on different Windows versions, you'll need to use version-specific indexes. The most complete list of available property indexes is here.
我建议使用 Atalasoft 的 DotImage Photo它是免费的!但是,它是一个 .NET 包,因此您需要做一些 Regasm让它发挥作用的魔法。在开始之前,请先查看在 VBScript 中使用 vb.net。
这是获取尺寸所需的代码。
I would recommend using Atalasoft's DotImage Photo Its powerful & it's free! But, it's a .NET package, so you'll have do some Regasm Magic to make it work. Go check out Use vb.net in VBScript before you get started.
Here is the code you'll need to get the dimensions.