Penangan Gambar Mini
Windows Vista memanfaatkan gambar mini khusus file lebih besar daripada versi Windows sebelumnya. Windows Vista menggunakannya di semua tampilan, dalam dialog, dan untuk tipe file apa pun yang menyediakannya. Aplikasi lain juga dapat menggunakan gambar mini Anda. Tampilan gambar mini juga telah berubah. Sekarang, spektrum berkelanjutan dari ukuran yang dapat dipilih pengguna tersedia daripada ukuran diskrit seperti Ikon dan Gambar Mini yang disediakan di Windows XP.
Catatan
Anda mungkin mendengar gambar mini ini disebut sebagai Ikon Langsung.
Gambar mini resolusi 32-bit dan sebesar 256x256 piksel sering digunakan di UI Windows Vista. Pemilik format file harus siap untuk menampilkan gambar mini mereka pada ukuran tersebut. Mereka juga harus memberikan gambar non-statis untuk gambar mini mereka yang mencerminkan konten file tertentu. Misalnya, gambar mini file teks harus menampilkan versi miniatur dokumen, termasuk teksnya.
Antarmuka IThumbnailProvider telah diperkenalkan untuk membuat penyediaan gambar mini lebih mudah dan lebih mudah daripada di masa lalu, ketika IExtractImage akan digunakan sebagai gantinya. Perhatikan, bahwa kode yang ada yang menggunakan IExtractImage masih valid di bawah Windows Vista. Namun, IExtractImage tidak didukung di panel Detail .
Topik ini membahas hal berikut:
- Proses Gambar Mini
- Singgahan dan Ukuran Gambar Mini
- Overlay Gambar Mini
- Hiasan Gambar Mini
- Mendaftarkan Handler Gambar Mini Anda
- Topik terkait
Proses Gambar Mini
Handler, termasuk penangan gambar mini, dijalankan secara default dalam proses terpisah. Anda dapat memaksa handler untuk menjalankan dalam proses dengan meneruskan nilai NULL sebagai konteks ikatan dalam panggilan ke IShellItem::BindToHandler seperti yang ditunjukkan di sini:
IShellItem::BindToHandler(NULL, BHID_ThumbnailHandler,..)
Anda juga dapat menolak kehabisan proses secara default dengan mengatur entri DisableProcessIsolation di registri seperti yang ditunjukkan dalam contoh ini. Pengidentifikasi kelas (CLSID) {E357FCCD-A995-4576-B01F-234630154E96} adalah CLSID untuk implementasi IThumbnailProvider .
HKEY_CLASSES_ROOT
CLSID
{E357FCCD-A995-4576-B01F-234630154E96}
DisableProcessIsolation = 1
Singgahan dan Ukuran Gambar Mini
Ketika gambar mini diperlukan, Windows terlebih dahulu memeriksa singgahan gambar mini untuk gambar tersebut. Ekstraktor gambar mini dipanggil jika gambar tidak ditemukan di cache. Ini juga dipanggil ketika waktu terakhir gambar yang dimodifikasi lebih lambat dari salinan di cache.
Gambar mini dalam cache ini disimpan dalam sekumpulan ukuran diskrit. Semua ukuran diberikan dalam piksel.
- 32x32
- 96x96
- 256x256
- 1024 x 1024
Catatan
Nilai-nilai ini dapat berubah. Kode Anda tidak boleh berasumsi bahwa ukuran tertentu akan selalu digunakan.
Jika gambar tidak persegi, Anda tidak boleh mengayuhnya sendiri. Windows bertanggung jawab untuk menghormati rasio aspek asli dan mengayuh gambar ke ukuran persegi.
Ketika gambar ukuran tertentu diminta, kecuali kecocokan persis ditemukan, Windows Vista selalu mengambil gambar terbesar berikutnya dan menurunkan skalanya ke ukuran yang diminta. Gambar tidak pernah ditingkatkan ukurannya seperti halnya di versi Windows sebelumnya.
Tabel berikut memberikan beberapa contoh hubungan antara ukuran yang diminta dan ukuran yang tersedia.
Ukuran Gambar Maksimum yang Anda Sediakan | Ukuran yang Diminta oleh Ekstraktor | Anda Menyediakan |
---|---|---|
156x120 | 256x256 | 156x120 (Jangan bantalan, pertahankan rasio aspek) |
2048x1024 | 256x256 | 256x128 (Jangan bantalan, pertahankan rasio aspek) |
Anda dapat mendeklarasikan titik cutoff sebagai bagian dari entri ID program dari aplikasi terkait di registri. Di bawah ukuran ini, gambar mini tidak digunakan.
HKEY_CLASSES_ROOT
.{ProgId}
ThumbnailCutoff
Entri ThumbnailCutoff adalah salah satu nilai REG_DWORD ini.
Nilai | Cutoff | HighDPI Sensitif |
---|---|---|
0 | 32x32 | Ya |
1 | 16x16 | Ya |
2 | 48x48 | Ya |
3 | 16x16 | Ya |
Sensitivitas titik tinggi per inci (dpi) berarti bahwa dimensi piksel gambar mini secara otomatis menyesuaikan untuk dpi yang lebih besar. Misalnya, gambar 32x32 pada 96 dpi akan menjadi gambar 40x40 pada 120 dpi.
Jika entri ThumbnailCutoff tidak ditentukan, cutoff default adalah 20x20 (tidak sensitif terhadap dpi).
Overlay Gambar Mini
Overlay gambar mini, gambar kecil yang ditampilkan di sudut kanan bawah gambar mini, memberikan kesempatan bagi pengembang untuk menerapkan identifikasi merek ke gambar mini mereka. Overlay dideklarasikan dalam registri sebagai bagian dari entri ID program dari aplikasi terkait, seperti yang ditunjukkan di sini:
HKEY_CLASSES_ROOT
.{ProgId}
TypeOverlay
Entri TypeOverlay berisi nilai REG_SZ yang ditafsirkan sebagai berikut:
- Jika nilai adalah referensi sumber daya (file .ico yang disematkan di DLL) seperti
ISVComponent.dll,-155
, gambar tersebut digunakan sebagai overlay untuk file dengan ekstensi nama file tersebut. Perhatikan bahwa dalam contoh ini, 155 adalah ID sumber daya, dan jika DLL tidak ada di jalur standar (seperti C:/Windows/System32), jalur lengkap diperlukan alih-alih hanya nama DLL. - Jika nilainya adalah string kosong, tidak ada overlay yang diterapkan pada gambar.
- Jika nilai tidak ada, ikon default aplikasi terkait digunakan.
Overlay untuk gambar mini Anda hanya boleh disediakan melalui mekanisme ini dan diterapkan oleh Windows. Jangan menerapkan overlay sendiri.
Hiasan Gambar Mini
Hiasan seperti bayangan jatuh diterapkan ke gambar mini berdasarkan tema yang saat ini dipilih pengguna. Hiasan disediakan oleh Windows; jangan membuatnya sendiri. Windows dapat mengubah tampilan hiasan tertentu kapan saja, jadi jika Anda menyediakan milik Anda, Anda akan berisiko tidak sinkron dengan sistem. Gambar mini Anda bisa berakhir tampak tanggal atau di luar tempat.
Potensi hiasan dinyatakan dalam registri sebagai bagian dari entri ID program dari aplikasi terkait, seperti yang ditunjukkan di sini:
HKEY_CLASSES_ROOT
.{ProgId}
Treatment
Entri Perawatan berisi salah satu nilai REG_DWORD ini:
Nilai | Makna |
---|---|
0 | Tanpa Hiasan |
1 | Bayangan Jatuh |
2 | Batas Foto |
3 | Sproket Video |
Bayangan jatuh diterapkan ke gambar secara default.
Mendaftarkan Handler Gambar Mini Anda
Pendaftaran handler gambar mini didasarkan pada asosiasi file standar.
GUID untuk ekstensi Shell penangan gambar mini adalah E357FCCD-A995-4576-B01F-234630154E96
.
Topik terkait
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