Aracılığıyla paylaş


IWICMetadataBlockWriter Gerçekleştirme

IWICMetadataBlockWriter

  • InitializeFromBlockReader
  • GetWriterByIndex
  • AddWriter
  • SetWriterByIndex
  • YazarIndex'eGöreSil

Çerçeve düzeyinde kodlama sınıfı, tüm meta veri bloklarını kullanıma açmak ve her blok için uygun meta veri yazıcısını istemek için bu arabirimi uygular. Görüntü biçiminiz herhangi bir çerçeve dışında genel meta verileri destekliyorsa, bu arabirimi kapsayıcı düzeyi kodlayıcı sınıfına da uygulamanız gerekir. Meta veri işleyicilerinin daha ayrıntılı bir tartışması için, WIC-Enabled Kod Çözücü uygulama bölümündeki IWICMetadataBlockReaderbölümüne bakın.

interface IWICMetadataBlockWriter : IWICMetadataBlockReader
{
   // All methods required
   HRESULT InitializeFromBlockReader ( IWICMetadataBlockReader *pIMDBlockReader );
   HRESULT GetWriterByIndex ( UINT nIndex, IWICMetadataWriter **ppIMetadataWriter );
   HRESULT AddWriter (IWICMetadataWriter *pIMetadataWriter );
   HRESULT SetWriterByIndex ( UINT nIndex, IWICMetadataWriter *pIMetadataWriter );
   HRESULT RemoveWriterByIndex ( UINT nIndex );
}

InitializeFromBlockReader

InitializeFromBlockReader, blok yazıcısını başlatmak için bir IWICMetadataBlockReader kullanır. Görüntüyü çözen kod çözücünün IWICMetadataBlockReader'ini alabilirsiniz.

UINT blockCount = 0;
IWICMetadataReader* pMetadataReader = NULL;
IWICMetadataWriter** ppMetadataWriter = NULL;
HRESULT hr;

hr = m_pBlockReader->GetCount(&blockCount);
ppMetadataWriter = IWICMetadataWriter*[blockCount];

for (UINT x=0; x < blockCount; x++)
{
   hr = m_pBlockReader->GetReaderByIndex(&pMetadataReader);
   hr = m_pComponentFactory->CreateMetadataWriterFromReader(
         pMetadataReader, NULL, &ppMetadataWriter[x]);
}

IWICMetadataBlockWriter, bir IWICMetadataBlockReader ile başlatıldığında, IWICMetadataBlockReader nesnesi tarafından temsil edilen her bir meta veri okuyucusuna ait bir meta veri yazıcısı örneği oluşturur. Bu nedenle, uygulamanın her meta veri bloğu için açıkça bir yazıcı istemesine gerek yoktur.

GetWriterByIndex

GetWriterByIndex, n. meta veri bloğu için IWICMetadataWriter nesnesini döndürür; burada n, nIndex parametresinde geçirilen değerdir. N. bloktaki meta veri türünü işleyebilen kayıtlı meta veri yazıcısı yoksa, bileşen fabrikası meta veri bloğunu ikili büyük nesne (BLOB) olarak ele alan Bilinmeyen Meta Veri İşleyicisi'ni döndürür. Ayrıştırmaya çalışmadan bit akışı olarak seri hale dönüştürecektir.

AddWriter

AddWriter, çağıranın yeni bir metaveri yazıcısı eklemesini sağlar. Bir uygulama mevcut meta veri bloklarından farklı bir biçimde meta veriler eklemek istiyorsa bu gereklidir. Örneğin, bir uygulama bazı XMP meta verileri eklemek isteyebilir. Mevcut bir XMP meta veri bloğu yoksa, uygulamanın bir XMP meta veri yazıcısı oluşturması ve meta veri yazıcıları koleksiyonuna eklemek için AddWriter yöntemini kullanması gerekir.

SetWriterByIndex

SetWriterByIndex, koleksiyondaki belirli bir dizine meta veri yazıcısı eklemek için kullanılır. Şu anda bu dizinde bir meta veri yazıcısı varsa, yenisinin bunu değiştirmesi gerekir.

YazarıIndeksleKaldır

RemoveWriterByIndex, bir meta veri yazıcısını koleksiyondan kaldırmak için kullanılır.

kavramsal

IWICBitmapFrameEncode Uygulaması

CODEC Yükleme ve Kayıt

WIC-Enabled CODEC Nasıl Yazılır

Windows Görüntüleme Bileşenine Genel Bakış