BitmapMetadata.SetQuery(String, Object) Método

Definição

Dá acesso a um escritor de consultas de metadados que pode escrever metadados num ficheiro de imagem bitmap.

public:
 void SetQuery(System::String ^ query, System::Object ^ value);
[System.Security.SecurityCritical]
public void SetQuery(string query, object value);
[<System.Security.SecurityCritical>]
member this.SetQuery : string * obj -> unit
Public Sub SetQuery (query As String, value As Object)

Parâmetros

query
String

Identifica a localização dos metadados a serem escritos.

value
Object

O valor dos metadados a escrever.

Atributos

Exemplos

O exemplo de código seguinte demonstra como usar o SetQuery método para escrever metadados num ficheiro Portable Network Graphics (PNG).

Stream^ pngStream = gcnew FileStream("smiley.png", FileMode::Open, FileAccess::ReadWrite, FileShare::ReadWrite);
PngBitmapDecoder^ pngDecoder = gcnew PngBitmapDecoder(pngStream, BitmapCreateOptions::PreservePixelFormat, BitmapCacheOption::Default);
BitmapFrame^ pngFrame = pngDecoder->Frames[0];
InPlaceBitmapMetadataWriter^ pngInplace = pngFrame->CreateInPlaceBitmapMetadataWriter();
if (pngInplace->TrySave())
{
   pngInplace->SetQuery("/Text/Description", "Have a nice day.");
}
pngStream->Close();
Stream pngStream = new System.IO.FileStream("smiley.png", FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite);
PngBitmapDecoder pngDecoder = new PngBitmapDecoder(pngStream, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default);
BitmapFrame pngFrame = pngDecoder.Frames[0];
InPlaceBitmapMetadataWriter pngInplace = pngFrame.CreateInPlaceBitmapMetadataWriter();
if (pngInplace.TrySave())
{ pngInplace.SetQuery("/Text/Description", "Have a nice day."); }
pngStream.Close();
Dim pngStream As New System.IO.FileStream("smiley.png", FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite)
Dim pngDecoder As New PngBitmapDecoder(pngStream, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default)
Dim pngFrame As BitmapFrame = pngDecoder.Frames(0)
Dim pngInplace As InPlaceBitmapMetadataWriter = pngFrame.CreateInPlaceBitmapMetadataWriter()
If pngInplace.TrySave() = True Then
    pngInplace.SetQuery("/Text/Description", "Have a nice day.")
End If
pngStream.Close()

Depois de os metadados serem escritos, o GetQuery método é usado para ler esses dados e emiti-los como uma cadeia de texto.


// Add the metadata of the bitmap image to the text block.
TextBlock^ myTextBlock = gcnew TextBlock();
myTextBlock->Text = "The Description metadata of this image is: " + pngInplace->GetQuery("/Text/Description")->ToString();

// Add the metadata of the bitmap image to the text block.
TextBlock myTextBlock = new TextBlock();
myTextBlock.Text = "The Description metadata of this image is: " + pngInplace.GetQuery("/Text/Description").ToString();
' Add the metadata of the bitmap image to the text block.
Dim myTextBlock As New TextBlock()
myTextBlock.Text = "The Description metadata of this image is: " + pngInplace.GetQuery("/Text/Description").ToString()

Observações

Metadados associados a uma imagem são dados que descrevem a imagem, mas que não são necessários para a sua visualização. Cada formato de imagem bitmap suportado lida com metadados de forma diferente, mas a funcionalidade para ler e escrever metadados é a mesma.

Windows Presentation Foundation (WPF) suporta os seguintes esquemas de metadados de imagem: ficheiro de imagem intercambiável (Exif), tEXt (Dados Textuais PNG), diretório de ficheiros de imagem (IFD), Conselho Internacional de Telecomunicações de Imprensa (IPTC) e Plataforma de Metadados Extensível (XMP).

Aplica-se a

Ver também