Küçük Resim İşleyicileri
Windows Vista, dosyaya özgü küçük resim görüntülerini Windows'un önceki sürümlerinden daha fazla kullanır. Windows Vista bunları tüm görünümlerde, iletişim kutusunda ve bunları sağlayan herhangi bir dosya türü için kullanır. Diğer uygulamalar da küçük resminizi kullanabilir. Küçük resim görüntüsü de değişti. Artık Windows XP'de sağlanan Simgeler ve Küçük Resimler gibi ayrık boyutlar yerine kullanıcı tarafından seçilebilen boyutların sürekli bir spektrumu mevcuttur.
Not
Canlı Simgeler olarak adlandırılan bu küçük resimleri duyabilirsiniz.
Windows Vista kullanıcı arabiriminde genellikle 32 bit çözünürlüğün ve 256x256 piksel boyutunda küçük resimler kullanılır. Dosya biçimi sahipleri küçük resimlerini bu boyutta görüntülemeye hazır olmalıdır. Ayrıca, küçük resimleri için belirli bir dosyanın içeriğini yansıtan statik olmayan görüntüler de sağlamalıdır. Örneğin, bir metin dosyasının küçük resmi, metin de dahil olmak üzere belgenin küçük bir sürümünü göstermelidir.
IThumbnailProvider arabirimi, IExtractImage kullanıldığında küçük resim sağlamayı geçmiştekinden daha kolay ve daha anlaşılır hale getirmek için kullanıma sunulmuştur. IExtractImage kullanan mevcut kodun Windows Vista altında hala geçerli olduğunu unutmayın. Ancak IExtractImageAyrıntıları bölmesinde desteklenmez.
Bu konuda aşağıdakiler ele alınmaktadır:
- Küçük Resim İşlemleri
- Küçük Resim Önbelleği ve Boyutlandırma
- Küçük Resim Katmanlarını
- küçük resim
- Küçük Resim İşleyicinizi kaydetmeyi
- İlgili konular
Küçük Resim İşlemleri
Küçük resim işleyicileri de dahil olmak üzere işleyiciler varsayılan olarak ayrı bir işlemde çalıştırılır. burada gösterildiği gibi IShellItem::BindToHandler çağrısında bağlama bağlamı olarak bir NULL değeri geçirerek işleyiciyi işlem içinde çalışmaya zorlayabilirsiniz:
IShellItem::BindToHandler(NULL, BHID_ThumbnailHandler,..)
Ayrıca, bu örnekte gösterildiği gibi kayıt defterinde DisableProcessIsolation girdisini ayarlayarak varsayılan olarak işlem dışı bırakabilirsiniz. Sınıf tanımlayıcısı (CLSID) {E357FCCD-A995-4576-B01F-234630154E96} IThumbnailProvider uygulamaları için CLSID'dir.
HKEY_CLASSES_ROOT
CLSID
{E357FCCD-A995-4576-B01F-234630154E96}
DisableProcessIsolation = 1
Küçük Resim Önbelleği ve Boyutlandırma
Küçük resim gerektiğinde, Windows önce görüntü için küçük resim önbelleğini denetler. Görüntü önbellekte bulunmazsa küçük resim ayıklayıcısı çağrılır. Ayrıca, görüntünün son değiştirme zamanı önbellekteki kopyadan daha sonra olduğunda da çağrılır.
Bu önbellekteki küçük resimler bir dizi ayrık boyutta depolanır. Tüm boyutlar piksel cinsinden verilir.
- 32x32
- 96x96
- 256x256
- 1024x1024
Not
Bu değerler değiştirilebilir. Kod, belirli bir boyutun her zaman kullanılacağını varsaymamalıdır.
Bir görüntü kare değilse, kendiniz doldurmamalısınız. Windows, özgün en boy oranına saygı duymaktan ve görüntüyü kare boyutuna doldurmaktan sorumludur.
Tam eşleşme bulunamadığı sürece belirli bir boyutta görüntü istendiğinde, Windows Vista her zaman bir sonraki en büyük görüntüyü alır ve istenen boyuta ölçeklendirir. Windows'un önceki sürümlerinde olduğu gibi bir görüntünün ölçeği hiçbir zaman büyütülmedi.
Aşağıdaki tabloda, istenen boyut ile kullanılabilir boyut arasındaki ilişkinin bazı örnekleri verilmiştir.
Sağladığınız En Büyük Görüntü Boyutu | Ayıklayıcı tarafından istenen boyut | Siz sağlarsınız |
---|---|---|
156x120 | 256x256 | 156x120 (Doldurma, en boy oranını koruma) |
2048x1024 | 256x256 | 256x128 (Doldurma, en boy oranını koruma) |
Kayıt defterindeki ilişkili uygulamanın program kimliği girişinin bir parçası olarak kesme noktası bildirebilirsiniz. Bu boyutun altında küçük resimler kullanılmaz.
HKEY_CLASSES_ROOT
.{ProgId}
ThumbnailCutoff
ThumbnailCutoff girdisi bu REG_DWORD değerlerden biridir.
Değer | Kesme | HighDPI Duyarlı |
---|---|---|
0 | 32x32 | Evet |
1 | 16x16 | Evet |
2 | 48x48 | Evet |
3 | 16x16 | Evet |
İnç başına yüksek nokta (dpi) duyarlılığı, küçük resmin piksel boyutlarının büyük dpi için otomatik olarak ayarlandığını gösterir. Örneğin, 96 dpi'de 32x32 görüntüsü, 120 dpi'de 40x40 görüntüsü olabilir.
ThumbnailCutoff girdisi belirtilmezse, varsayılan kesme 20x20'dir (dpi duyarlı değildir).
Küçük Resim Yer Paylaşımları
Küçük resmin sağ alt köşesinde görüntülenen küçük resim yer paylaşımları, geliştiricilerin küçük resimlerine marka belirlemesi uygulaması için bir fırsat sağlar. Yer paylaşımları kayıt defterinde, burada gösterildiği gibi ilişkili uygulamanın program kimliği girişinin bir parçası olarak bildirilir:
HKEY_CLASSES_ROOT
.{ProgId}
TypeOverlay
TypeOverlay girdisi aşağıdaki gibi yorumlanan bir REG_SZ değeri içerir:
- Değer,
ISVComponent.dll,-155
gibi bir kaynak başvurusu (DLL'ye eklenmiş bir .ico dosyası) ise, bu resim bu dosya adı uzantısına sahip dosyalar için katman olarak kullanılır. Bu örnekte, 155 kaynak kimliğidir ve DLL standart bir yolda yoksa (C:/Windows/System32gibi), yalnızca DLL adı yerine tam yol gereklidir. - Değer boş bir dizeyse, görüntüye katman uygulanmaz.
- Değer yoksa, ilişkili uygulamanın varsayılan simgesi kullanılır.
Küçük resimleriniz için yer paylaşımları yalnızca bu mekanizma aracılığıyla sağlanmalıdır ve Windows tarafından uygulanmalıdır. Yer paylaşımlarını kendiniz uygulamayın.
Küçük Resim Süslemeleri
Kullanıcının o anda seçili olan temasına göre küçük resimlere gölgeler gibi süslemeler uygulanır. Süslemeler Windows tarafından sağlanır; bunları kendiniz oluşturmayın. Windows herhangi bir zamanda belirli süslemelerin görünümünü değiştirebilir, bu nedenle size sahip olmanız durumunda sistemle eşitlenme riskiniz olur. Küçük resimleriniz eskimiş veya yerinde görünmeye devam edebilir.
Olası süslemeler, burada gösterildiği gibi kayıt defterinde ilişkili uygulamanın program kimliği girişinin bir parçası olarak bildirilir:
HKEY_CLASSES_ROOT
.{ProgId}
Treatment
Treatment girdisi şu REG_DWORD değerlerinden birini içerir:
Değer | Anlam |
---|---|
0 | Süsleme Yok |
1 | Gölge |
2 | Fotoğraf Kenarlı |
3 | Video Sprockets |
Resimlere varsayılan olarak bir gölge uygulanır.
Küçük Resim İşleyicinizi Kaydetme
Küçük resim işleyicisinin kaydı standart dosya ilişkilendirmelerini temel alır.
Küçük resim işleyicisi Kabuk uzantısının GUID değeri E357FCCD-A995-4576-B01F-234630154E96
.
İlgili konular