Menyalin bingkai individual dari gambar beberapa bingkai

Contoh berikut mengambil bingkai individual dari file TIFF multi-bingkai. Saat file TIFF dibuat, masing-masing bingkai ditambahkan ke dimensi Halaman (lihat Membuat dan Menyimpan Gambar Multiple-Frame). Kode menampilkan masing-masing dari empat halaman dan menyimpan setiap halaman ke file disk PNG terpisah.

Kode membuat objek Gambar dari file TIFF multi-bingkai. Untuk mengambil bingkai individual (halaman), kode memanggil metode Image::SelectActiveFrame dari objek Gambar tersebut. Argumen pertama yang diteruskan ke metode Image::SelectActiveFrame adalah alamat GUID yang menentukan dimensi di mana bingkai sebelumnya ditambahkan ke file TIFF multi-bingkai. GUID FrameDimensionPage didefinisikan dalam Gdiplusimaging.h. GUID lain yang ditentukan dalam file header tersebut adalah FrameDimensionTime dan FrameDimensionResolution. Argumen kedua yang diteruskan ke metode Image::SelectActiveFrame adalah indeks berbasis nol dari halaman yang diinginkan.

Kode ini bergantung pada fungsi pembantu GetEncoderClsid, yang ditampilkan dalam Mengambil Pengidentifikasi Kelas untuk Encoder.

GUID   pageGuid = FrameDimensionPage;
CLSID  encoderClsid;
Image  multi(L"Multiframe.tif");

// Get the CLSID of the PNG encoder.
GetEncoderClsid(L"image/png", &encoderClsid);

// Display and save the first page (index 0).
multi.SelectActiveFrame(&pageGuid, 0);
graphics.DrawImage(&multi, 10, 10);
multi.Save(L"Page0.png", &encoderClsid, NULL);

// Display and save the second page.
multi.SelectActiveFrame(&pageGuid, 1);
graphics.DrawImage(&multi, 200, 10);
multi.Save(L"Page1.png", &encoderClsid, NULL);

// Display and save the third page.
multi.SelectActiveFrame(&pageGuid, 2);
graphics.DrawImage(&multi, 10, 150);
multi.Save(L"Page2.png", &encoderClsid, NULL);

// Display and save the fourth page.
multi.SelectActiveFrame(&pageGuid, 3);
graphics.DrawImage(&multi, 200, 150);
multi.Save(L"Page3.png", &encoderClsid, NULL);

Ilustrasi berikut ini memperlihatkan halaman individual seperti yang ditampilkan oleh kode sebelumnya.

ilustrasi memperlihatkan bentuk geometris, foto warna, foto monokrom, dan bentuk geometris yang berbeda