IWICFastMetadataEncoder 인터페이스(wincodec.h)
현재 위치 메타데이터 편집에 사용되는 메서드를 노출합니다. 빠른 메타데이터 인코더를 사용하면 이미지를 완전히 다시 인코딩하지 않고도 이미지에 메타데이터를 추가하고 제거할 수 있습니다.
상속
IWICFastMetadataEncoder 인터페이스는 IUnknown 인터페이스에서 상속됩니다. IWICFastMetadataEncoder 에는 다음과 같은 유형의 멤버도 있습니다.
메서드
IWICFastMetadataEncoder 인터페이스에는 이러한 메서드가 있습니다.
IWICFastMetadataEncoder::Commit 이미지 스트림에 대한 메타데이터 변경 내용을 완료합니다. |
IWICFastMetadataEncoder::GetMetadataQueryWriter 빠른 메타데이터 인코딩을 위해 메타데이터 쿼리 작성기를 검색합니다. |
설명
현재 위치 메타데이터 업데이트를 수행하려면 WICDecodeOptions 값 WICDecodeMetadataCacheOnDemand 를 사용하여 디코더를 만들어야 합니다. WICDecodeMetadataCacheOnLoad 옵션을 사용하면 디코더가 메타데이터 업데이트를 수행하는 데 필요한 파일 스트림을 해제합니다.
모든 메타데이터 형식이 빠른 메타데이터 인코딩을 지원하는 것은 아닙니다. 메타데이터를 지원하는 네이티브 메타데이터 처리기는 IFD, Exif, XMP 및 GPS입니다.
빠른 메타데이터 인코더가 실패하면 메타데이터를 추가하려면 이미지를 완전히 다시 인코딩해야 합니다.
예제
다음은 이미지 프레임에서 빠른 메타데이터 인코더를 가져오고 해당 쿼리 작성기를 사용하여 메타데이터 항목을 작성하는 방법을 보여 줍니다.
IWICFastMetadataEncoder *pFME = NULL;
IWICMetadataQueryWriter *pFMEQW = NULL;
hr = pFactory->CreateFastMetadataEncoderFromFrameDecode(pFrameDecode, &pFME);
if (SUCCEEDED(hr))
{
hr = pFME->GetMetadataQueryWriter(&pFMEQW);
}
if (SUCCEEDED(hr))
{
// Add additional metadata
PROPVARIANT value;
PropVariantInit(&value);
value.vt = VT_UI2;
value.uiVal = 99;
hr = pFMEQW->SetMetadataByName(L"/app1/ifd/{ushort=18249}", &value);
PropVariantClear(&value);
}
if (SUCCEEDED(hr))
{
hr = pFME->Commit();
}
요구 사항
지원되는 최소 클라이언트 | WINDOWS XP SP2, Windows Vista [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows Server 2008 [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | wincodec.h |