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

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.

IThumbnailProvider

Penangan Gambar Mini Bangunan

Panduan Penangan Gambar Mini