Gestori di anteprime
Windows Vista usa più immagini di anteprima specifiche dei file rispetto alle versioni precedenti di Windows. Windows Vista li usa in tutte le visualizzazioni, nelle finestre di dialogo e per qualsiasi tipo di file che li fornisce. Altre applicazioni possono usare anche l'anteprima. La visualizzazione delle anteprime è stata modificata. Ora, è disponibile uno spettro continuo di dimensioni selezionabili dall'utente anziché le dimensioni discrete, ad esempio icone e anteprime fornite in Windows XP.
Nota
Potresti sentire queste anteprime denominate Icone live.
Le anteprime di risoluzione a 32 bit e le dimensioni di 256x256 pixel vengono spesso usate nell'interfaccia utente di Windows Vista. I proprietari del formato di file devono essere preparati per visualizzare le anteprime a tale dimensione. Devono inoltre fornire immagini non statiche per le anteprime che riflettono il contenuto del file specifico. Ad esempio, l'anteprima di un file di testo deve mostrare una versione in miniatura del documento, incluso il testo.
L'interfaccia IThumbnailProvider è stata introdotta per rendere più semplice e semplice un'anteprima rispetto al passato, quando invece sarebbe stata usata IExtractImage . Si noti che il codice esistente che usa IExtractImage è ancora valido in Windows Vista. Tuttavia, IExtractImage non è supportato nel riquadro Dettagli .
In questo argomento vengono trattati i seguenti temi:
- Processi di anteprima
- Cache di anteprima e ridimensionamento
- Sovrimpressione anteprime
- Miniature Adornments
- Registrazione del gestore delle anteprime
- Argomenti correlati
Processi di anteprima
I gestori, inclusi i gestori di anteprima, vengono eseguiti per impostazione predefinita in un processo separato. È possibile forzare il gestore a eseguire in-process passando un valore NULL come contesto di associazione in una chiamata a IShellItem::BindToHandler come illustrato di seguito:
IShellItem::BindToHandler(NULL, BHID_ThumbnailHandler,..)
È anche possibile rifiutare l'interruzione del processo per impostazione predefinita impostando la voce DisableProcessIsolation nel Registro di sistema, come illustrato in questo esempio. L'identificatore di classe (CLSID) {E357FCCD-A995-4576-B01F-234630154E96} è l'implementazione CLSID per IThumbnailProvider .
HKEY_CLASSES_ROOT
CLSID
{E357FCCD-A995-4576-B01F-234630154E96}
DisableProcessIsolation = 1
Cache di anteprima e ridimensionamento
Quando è necessaria un'anteprima, Windows controlla prima la cache delle anteprime per l'immagine. L'estrattore di anteprima viene chiamato se l'immagine non viene trovata nella cache. Viene chiamato anche quando l'ultima ora modificata dell'immagine è successiva a quella della copia nella cache.
Le immagini di anteprima in questa cache vengono archiviate in un set di dimensioni discrete. Tutte le dimensioni vengono specificate in pixel.
- 32x32
- 96x96
- 256x256
- 1024x1024
Nota
Questi valori sono soggetti a modifiche. Non è consigliabile presupporre che venga sempre usata alcuna dimensione specifica.
Se un'immagine non è quadrata, non dovresti riquadrirti. Windows è responsabile del rispetto delle proporzioni originali e della spaziatura interna dell'immagine in una dimensione quadrata.
Quando viene richiesta un'immagine di una determinata dimensione, a meno che non venga trovata una corrispondenza esatta, Windows Vista recupera sempre l'immagine più grande successiva e la ridimensiona fino alle dimensioni richieste. Un'immagine non viene mai ridimensionata in dimensioni, come accade nelle versioni precedenti di Windows.
La tabella seguente fornisce alcuni esempi della relazione tra le dimensioni richieste e le dimensioni disponibili.
Dimensioni massime dell'immagine fornite | Dimensioni richieste dall'estrattore | Specificare |
---|---|---|
156x120 | 256x256 | 156x120 (Non tastiera, mantenere le proporzioni) |
2048x1024 | 256x256 | 256x128 (Non riquadri, mantenere le proporzioni) |
È possibile dichiarare un punto di taglio come parte della voce ID programma dell'app associata nel Registro di sistema. Sotto questa dimensione, le anteprime non vengono usate.
HKEY_CLASSES_ROOT
.{ProgId}
ThumbnailCutoff
La voce ThumbnailCutoff è uno di questi valori REG_DWORD.
Valore | Taglio | Sensibile HighDPI |
---|---|---|
0 | 32x32 | Sì |
1 | 16x16 | Sì |
2 | 48x48 | Sì |
3 | 16x16 | Sì |
La sensibilità dei punti alti per pollice (dpi) significa che le dimensioni pixel dell'anteprima si regolano automaticamente per i valori dpi maggiori. Ad esempio, un'immagine da 32x32 a 96 dpi sarebbe un'immagine da 40x40 a 120 dpi.
Se la voce ThumbnailCutoff non è specificata, il cutoff predefinito è 20x20 (non con distinzione dpi).
Sovrimpressione anteprime
Le sovrapposizioni di anteprime, un'immagine piccola visualizzata nell'angolo inferiore destro dell'anteprima, offre agli sviluppatori l'opportunità di applicare l'identificazione del marchio alle anteprime. Le sovrapposizioni vengono dichiarate nel Registro di sistema come parte della voce ID programma dell'app associata, come illustrato di seguito:
HKEY_CLASSES_ROOT
.{ProgId}
TypeOverlay
La voce TypeOverlay contiene un valore REG_SZ interpretato come segue:
- Se il valore è un riferimento alla risorsa (un file con estensione ico incorporato nella DLL), ad
ISVComponent.dll,-155
esempio , tale immagine viene usata come sovrimpressione per i file con l'estensione del nome file. Si noti che in questo esempio 155 è l'ID risorsa e se la DLL non è presente in un percorso standard (ad esempio C:/Windows/System32), il percorso completo è necessario anziché solo il nome della DLL. - Se il valore è una stringa vuota, non viene applicata alcuna sovrapposizione all'immagine.
- Se il valore non è presente, viene usata l'icona predefinita dell'applicazione associata.
Le sovrimpressione per le anteprime devono essere fornite solo tramite questo meccanismo e applicate da Windows. Non applicare sovrimpressione.
Miniature Adornments
Le decorazioni, ad esempio le ombreggiature a discesa, vengono applicate alle anteprime in base al tema attualmente selezionato dall'utente. Le decorazioni vengono fornite da Windows; non crearle autonomamente. Windows potrebbe modificare l'aspetto di particolari decorazioni in qualsiasi momento, quindi se si è forniti di avere il rischio di cadere in sincronizzazione con il sistema. Le anteprime potrebbero finisce per cercare datati o fuori posto.
I potenziali adornmenti vengono dichiarati nel Registro di sistema come parte della voce ID programma dell'app associata, come illustrato di seguito:
HKEY_CLASSES_ROOT
.{ProgId}
Treatment
La voce Trattamento contiene uno di questi valori REG_DWORD:
Valore | Significato |
---|---|
0 | Nessuna decorazione |
1 | Ombreggiatura |
2 | Bordo foto |
3 | Video Sprocket |
Un'ombreggiatura a discesa viene applicata alle immagini per impostazione predefinita.
Registrazione del gestore delle anteprime
La registrazione di un gestore di anteprime è basata su associazioni di file standard.
Il GUID per l'estensione Shell del gestore di anteprima è E357FCCD-A995-4576-B01F-234630154E96
.
Argomenti correlati