Метод Image::GetPropertyItemSize (gdiplusheaders.h)
Метод Image::GetPropertyItemSize получает размер в байтах указанного элемента свойства этого объекта Image .
Синтаксис
UINT GetPropertyItemSize(
[in] PROPID propId
);
Параметры
[in] propId
Тип: PROPID
Целое число, идентифицирующее элемент свойства.
Возвращаемое значение
Тип: UINT
Этот метод возвращает размер указанного элемента свойства объекта Image (в байтах).
Комментарии
Метод Image::GetPropertyItem возвращает объект PropertyItem . Перед вызовом Image::GetPropertyItem необходимо выделить буфер, достаточно большой для получения этого объекта. Размер зависит от типа данных и значения элемента свойства. Вы можете вызвать метод Image::GetPropertyItemSize объекта Image , чтобы получить размер необходимого буфера в байтах.
Примеры
В следующем примере создается объект Image на основе JPEG-файла. Код вызывает метод Image::GetPropertyItemSize этого объекта Image , чтобы получить размер элемента свойства, который содержит элемент камеры, используемой для захвата изображения. Затем код вызывает метод Image::GetPropertyItem для получения этого элемента свойства.
#include <windows.h>
#include <gdiplus.h>
#include <stdio.h>
using namespace Gdiplus;
INT main()
{
GdiplusStartupInput gdiplusStartupInput;
ULONG_PTR gdiplusToken;
GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);
UINT size = 0;
PropertyItem* propertyItem = NULL;
Image* image = new Image(L"FakePhoto.jpg");
// Assume that the image has a property item of type PropertyItemEquipMake.
// Get the size of that property item.
size = image->GetPropertyItemSize(PropertyTagEquipMake);
// Allocate a buffer to receive the property item.
propertyItem = (PropertyItem*)malloc(size);
// Get the property item.
image->GetPropertyItem(PropertyTagEquipMake, size, propertyItem);
// Display the members of the retrieved PropertyItem object.
printf("The length of the property item is %u.\n", propertyItem->length);
printf("The data type of the property item is %u.\n", propertyItem->type);
if(propertyItem->type == PropertyTagTypeASCII)
printf("The value of the property item is %s.\n", propertyItem->value);
free(propertyItem);
delete image;
GdiplusShutdown(gdiplusToken);
return 0;
}
Приведенный выше код вместе с определенным файлом FakePhoto.jpg выводятся следующие выходные данные. Обратите внимание, что тип данных равен 2, что является значением константы PropertyTagTypeASCII, определенной в Gdiplusimaging.h.
The length of the property item is 17.
The data type of the property item is 2.
The value of the property item is Northwind Traders.
Требования
Минимальная версия клиента | Windows XP, Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | gdiplusheaders.h (включая Gdiplus.h) |
Библиотека | Gdiplus.lib |
DLL | Gdiplus.dll |