VBA读取图片属性信息(2/4)

上一篇博客《VBA读取图片属性信息》中介绍了使用WIA对象读取图片信息,本文将解释另一种方法读取图片尺寸信息。
示例代码如下。

Function Himetric2Pixel(Hime)
    Dim objWSH As Object
    Dim lngDPI As Long
    Set objWSH = CreateObject("Wscript.Shell")
    lngDPI = objWSH.RegRead("HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics\AppliedDPI")
    Himetric2Pixel = Round(Hime * lngDPI / 2540)
    Set objWSH = Nothing
End Function
Sub Demo()
    Dim objPic As Object
    Set objPic = LoadPicture("c:\temp\1.jpg")
    Debug.Print "宽度:" & Himetric2Pixel(objPic.Width) & "像素"
    Debug.Print "高度:" & Himetric2Pixel(objPic.Height) & "像素"
    Set objPic = Nothing
End Sub

【立即窗口】中输出如下图所示。
VBA读取图片属性信息(2/4)_第1张图片
【代码解析】
第1~7行代码为函数过程Himetric2Pixel,用于实现Himetric和Pixel(像素)直接的转换。
第4行代码创建Wscript.Shell对象。
第5行代码读取注册表中的AppliedDPI键值。
第6行代码进行转换。
第7行代码释放对象变量占用的系统资源。
第9~15行代码为演示过程。
第11行代码加载图片文件。
第12~13行代码输出图片尺寸信息。
第14行代码释放对象变量占用的系统资源。


相关文章链接:

VBA读取图片属性信息(1/4)

VBA读取图片属性信息(2/4)

VBA读取图片属性信息(3/4)

VBA读取图片属性信息(4/4)

你可能感兴趣的:(图片,对象,VBA,WSH,图片尺寸,像素,Himetric,像素转换)