BitmapPropertiesView.GetPropertiesAsync(IIterable<String>) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Secara asinkron mengambil satu atau beberapa properti bitmap.
public:
virtual IAsyncOperation<BitmapPropertySet ^> ^ GetPropertiesAsync(IIterable<Platform::String ^> ^ propertiesToRetrieve) = GetPropertiesAsync;
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperation<BitmapPropertySet> GetPropertiesAsync(IIterable<winrt::hstring> const& propertiesToRetrieve);
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperation<BitmapPropertySet> GetPropertiesAsync(IEnumerable<string> propertiesToRetrieve);
function getPropertiesAsync(propertiesToRetrieve)
Public Function GetPropertiesAsync (propertiesToRetrieve As IEnumerable(Of String)) As IAsyncOperation(Of BitmapPropertySet)
Parameter
Kumpulan string yang mewakili kunci properti atau kueri yang sedang diminta. String yang valid mencakup properti Windows dan kueri metadata Komponen Pencitraan Windows.
Mengembalikan
Objek yang mengelola pengambilan asinkron properti bitmap.
Penerapan
- Atribut
Keterangan
Operasi asinkron menghasilkan koleksi yang mewakili kunci properti gambar yang diminta dan nilainya. Nilai disimpan sebagai BitmapTypedValue, yang berisi data aktual serta PropertyType data.
Gambar tertentu mungkin hanya berisi beberapa (atau tidak ada) dari properti yang diminta. Dalam hal ini koleksi hanya akan memiliki pasangan kunci-nilai untuk properti yang ditemukan dalam gambar. Anda perlu memeriksa keberadaan properti sebelum mencoba mendapatkan data darinya:
bitmapPropertiesView.getPropertiesAsync(["System.Title"]).done(function (retrievedProperties) {
if (retrievedProperties.hasKey("System.Title")) {
var titleProperty = retrievedProperties.lookup("System.Title");
var title = titleProperty.value;
}
});
Mengkueri blok metadata
Jika Anda menggunakan bahasa kueri metadata untuk meminta blok metadata alih-alih properti, nilai yang dikembalikan adalah BitmapPropertiesView yang mewakili metadata dalam blok tersebut. Anda dapat meminta metadata apa pun yang terkandung dalam blok dari BitmapPropertiesView:
// this is equivalent to directly requesting "/app1/ifd/{ushort=274}" from bitmapPropertiesView
bitmapPropertiesView.getPropertiesAsync(["/app1/ifd"]).done(function (retrievedProperties) {
// var ifdBlock is a BitmapPropertiesView
var ifdBlock = retrievedProperties.lookup("/app1/ifd").value;
return ifdBlock.getPropertiesAsync(["/{ushort=274}");
}).then(function (retrievedProperties) {
var orientation = retrievedProperties.lookup("/{ushort=274}").value;
});
Menghitung semua metadata dalam bingkai
Anda dapat meminta semua konten blok metadata, termasuk sub-blok dan properti, dengan meneruskan koleksi string kosong (panjang nol). Ini menghasilkan koleksi yang berisi setiap sub-blok dan properti dalam cakupan BitmapPropertiesView . Dengan cara ini, Anda dapat secara berulang mengambil semua metadata yang terkandung dalam bingkai gambar.
bitmapPropertiesView.getPropertiesAsync([]).done(function (retrievedProperties) {
var iterator = retrievedProps.first();
while (iterator.hasCurrent) {
// iterator.current gives a key-value pair of string, BitmapTypedValue
// nextMetadataBlock is a BitmapPropertiesView containing the sub-block
var nextMetadataBlock = iterator.current.value.value;
iterator.moveNext();
}
});
Jika format gambar tidak mendukung metadata, format tersebut akan gagal dengan WINCODEC_ERR_UNSUPPORTEDOPERATION HRESULT.