使用元数据在不加载的情况下获取图像尺寸
Get image dimensions without loading using meta data
我想在不实际加载图像的情况下获取图像的尺寸,我想使用文件中提供的元数据。
是否有 windows api
或类似的东西允许我读取此元数据?将不胜感激。
在 Simson Mourier 的评论(C# 中的一段代码的帮助下,我设法在 [=25 中做了类似的事情=]:
uses
System.Win.ComObj;
var
ObjShell, ObjFolder, ObjFile, ObjInfo: Variant;
begin
ObjShell := CreateOleObject('Shell.Application');
// directory of the file to read
ObjFolder := ObjShell.NameSpace('c:\imagefolders');
// one of the files in the folder, just the name alone, no path
ObjFile := ObjFolder.parseName('001.jpg');
// example: width of the image
ObjInfo := ObjFile.ExtendedProperty('System.Image.HorizontalSize');
ShowMessage(ObjInfo);
end;
代码已在 Delphi 10.4 中测试 Windows 10.
我想在不实际加载图像的情况下获取图像的尺寸,我想使用文件中提供的元数据。
是否有 windows api
或类似的东西允许我读取此元数据?将不胜感激。
在 Simson Mourier 的评论(C# 中的一段代码的帮助下,我设法在 [=25 中做了类似的事情=]:
uses
System.Win.ComObj;
var
ObjShell, ObjFolder, ObjFile, ObjInfo: Variant;
begin
ObjShell := CreateOleObject('Shell.Application');
// directory of the file to read
ObjFolder := ObjShell.NameSpace('c:\imagefolders');
// one of the files in the folder, just the name alone, no path
ObjFile := ObjFolder.parseName('001.jpg');
// example: width of the image
ObjInfo := ObjFile.ExtendedProperty('System.Image.HorizontalSize');
ShowMessage(ObjInfo);
end;
代码已在 Delphi 10.4 中测试 Windows 10.