随着数码相机的普及,需要对数码照片进行操作的程序也越来越多,其中难免要涉及到对数码照片的附加信息进行存取。你固然可以自己写一套存取这些附加信息的函数,但是本着“不要再次发明车轮”的思想,本文介绍大家用windows gdi+ sdk来完成这个工作。
数码照片一般都会存储为JPEG图像格式,同时随着照片各种相机也会存储一些相关的附加信息(Metadata),有人也把这个叫做“图片文件的摘要”。这些信息一般包括照片的标题,相机型号,曝光时间等等。
在gdi+里面,这样的一条信息称作一个PropertyItem,一个典型的照片可能会包含四五十条这样的Item。
下面通过一个C++程序来介绍怎样通过GDI+ SDK提供的函数来存取PropertyItem。
#include <windows.h>
#include "gdiplus.h"
#include <stdio.h>
using namespace Gdiplus;
//#pragma comment(lib, "gdiplus.lib")
INT main()
{
// Start up Gdi+
GdiplusStartupInput gdiplusStartupInput;
ULONG_PTR gdiplusToken;
GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);
Image* image = new Image(L"a.jpg");
UINT itemsize = 0;
PropertyItem* item = NULL;
UINT size, count;
image->GetPropertySize(&size, &count);
用gdi+获取图像的附加信息(metadata)--如jpg照片的标题,相机,曝光时间等
本文介绍了如何使用Windows GDI+ SDK来读取和处理数码照片的元数据,包括照片标题、相机型号和曝光时间等信息。通过示例C++代码展示了获取PropertyItem的方法,并提到了在Borland C++ Builder 6环境下进行的准备工作。

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



