Я просмотрел документацию по адресу:
http://msdn.microsoft.com/en-us/library/windows/desktop/ee719799(v=vs.85).aspx
В качестве контекста я пытаюсь кодировать в формате JPEG-XR и хочу эмулировать GDI + SetPropertyItem
, GetPropertyItem
функциональность.
У меня в основном есть 3 вопроса:
{ushort=1111}
определить его и как проверить, если идентификатор уже определен?id
поле GdiPlus :: PropertyItem?Например, допустимо ли следующее:
PROPVARIANT value;
value.vt = VT_LPWSTR;
value.pwszVal= L"Metadata Test";
hr = piFrameQWriter->SetMetadataByName(L"/ifd/exif/{ushort=1111}");
Этот блок кода успешно выполняется, но когда я пытаюсь прочитать те же метаданные, используя:
IWICMetadataQueryReader *pQueryReader = NULL;
if(SUCCEEDED(hr))
{
hr = piFrame->GetMetadataQueryReader(&pQueryReader);
}
if (SUCCEEDED(hr))
{
PROPVARIANT value;
hr = pQueryReader->GetMetadataByName(L"/ifd/exif/{ushort=1111}", &value);
}
Это возвращает ошибку E_INVALIDARG.
Я был бы признателен за помощь в понимании того, как это работает. Я чувствую, что не правильно понял документацию.
Спасибо.
Задача ещё не решена.
Других решений пока нет …