BitmapEncoder.CreateForInPlacePropertyEncodingAsync(BitmapDecoder) 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 membuat BitmapEncoder baru untuk pengeditan properti dan metadata di tempat. Encoder baru hanya dapat mengedit properti bitmap di tempat dan akan gagal untuk penggunaan lain.
public:
static IAsyncOperation<BitmapEncoder ^> ^ CreateForInPlacePropertyEncodingAsync(BitmapDecoder ^ bitmapDecoder);
/// [Windows.Foundation.Metadata.RemoteAsync]
static IAsyncOperation<BitmapEncoder> CreateForInPlacePropertyEncodingAsync(BitmapDecoder const& bitmapDecoder);
[Windows.Foundation.Metadata.RemoteAsync]
public static IAsyncOperation<BitmapEncoder> CreateForInPlacePropertyEncodingAsync(BitmapDecoder bitmapDecoder);
function createForInPlacePropertyEncodingAsync(bitmapDecoder)
Public Shared Function CreateForInPlacePropertyEncodingAsync (bitmapDecoder As BitmapDecoder) As IAsyncOperation(Of BitmapEncoder)
Parameter
- bitmapDecoder
- BitmapDecoder
BitmapDecoder yang berisi data gambar yang akan diedit. Parameter ini harus dibuat pada aliran dengan mode akses ReadWrite.
Catatan
Encoder menulis ke aliran tempat BitmapDecoder asli dibuat. Anda tidak dapat menentukan aliran output.
Mengembalikan
Objek yang mengelola inisialisasi asinkron BitmapEncoder baru menggunakan data dari BitmapDecoder yang ada.
- Atribut
Keterangan
Gunakan metode ini untuk mengambil encoder ketika Anda hanya akan menggunakannya untuk mengedit atau menulis sejumlah properti terbatas ke gambar. Encoder yang diambil dengan cara ini dapat memberikan keuntungan performa atas encoder yang dikembalikan oleh CreateForTranscodingAsync karena menulis properti baru ke ruang padding kosong alih-alih mengodekan seluruh gambar lagi.
Berikut adalah beberapa batasan pada encoder yang diambil dengan cara ini:
- Anda hanya dapat menggunakan metode ini pada encoder:
- BitmapEncoder.BitmapProperties.GetPropertiesAsync
- BitmapEncoder.BitmapProperties.SetPropertiesAsync
- BitmapEncoder.FlushAsync Metode lain akan gagal jika Anda memanggilnya.
- BitmapDecoder input harus merupakan encoder yang dibuat pada aliran dengan akses ReadWrite.
- Tidak semua format metadata mendukung pengodean metadata cepat. Penangan metadata asli yang mendukung metadata adalah IFD, Exif, XMP, dan GPS.
- Blok metadata harus memiliki padding yang cukup untuk menyimpan properti yang coba Anda edit.
Jika operasi pengodean gagal karena alasan apa pun, Anda harus menggunakan CreateForTranscodingAsync untuk mengedit metadata dan mengodekan ulang gambar. Saat mengodekan ulang, Anda juga dapat menambahkan padding baru atau tambahan untuk mengaktifkan pengodean properti di tempat di masa mendatang. Untuk melakukan ini, buat BitmapTypedValue baru dengan Jenis diatur ke UInt32 dan Nilai diatur ke jumlah byte padding yang ingin Anda tambahkan. Nilai umumnya adalah 4096 byte. Atur item metadata ini pada satu atau beberapa lokasi kueri metadata dalam tabel ini.
Format metadata Kueri metadata JPEG Kueri metadata TIFF, JPEG-XR IFD /app1/ifd/PaddingSchema:Padding /ifd/PaddingSchema:Padding EXIF /app1/ifd/exif/PaddingSchema:Padding /ifd/exif/PaddingSchema:Padding XMP /xmp/PaddingSchema:Padding /ifd/xmp/PaddingSchema:Padding GPS /app1/ifd/gps/PaddingSchema:Padding /ifd/gps/PaddingSchema:Padding Berlaku untuk
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk