Aracılığıyla paylaş


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 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,-155gibi 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.

IThumbnailProvider

Küçük Resim İşleyicileri oluşturma

küçük resim işleyici yönergeleri