/ / Perché GetThumbnailImage crea immagini sfocate - c #, winforms

Perché GetThumbnailImage crea immagini sfocate - c #, winforms

Sto creando miniature di immagini. Ho implementato la visualizzazione delle miniature in due modi

1 - data un'immagine, crea una nuova miniatura usando il metodo sopra.

2 - data un'immagine, afferra le dimensioni,calcolare le dimensioni ridimensionate e impostarle come dimensioni del PictureBox. PictureBox è impostato sulla modalità di zoom automatico, quindi ridimensiona l'immagine a 1/4.

Entrambi i metodi generano pollici che sono 1/4 didimensione originale dell'immagine in ingresso (solo visualizzazione, non sono preoccupato di salvare o lavorare con l'immagine), ma il secondo metodo produce una miniatura molto più chiara, anche se suppongo che utilizzerebbe più memoria dal momento che non penso di zoomare il controllo in realtà colpisce l'immagine.

Perché la miniatura risultante è molto sfocata quando GetThumbnailImage viene usato?

risposte:

0 per risposta № 1

Vedi le osservazioni nel documentazione:

Se la Immagine contiene un'immagine di anteprima incorporata, questo metodo recupera la miniatura incorporata e la ridimensiona alla dimensione richiesta. Se la Immagine non contiene un'immagine di anteprima incorporata, questo metodo crea un'immagine di anteprima ridimensionando l'immagine principale.

Il GetThumbnailImage il metodo funziona bene quando l'immagine di anteprima richiesta ha una dimensione di circa 120 x 120 pixel. Se si richiede un'immagine di anteprima di grandi dimensioni (ad esempio 300 x 300) da un Immagine che ha una miniatura incorporata, potrebbe esserci unperdita notevole di qualità nell'immagine in miniatura. Potrebbe essere preferibile ridimensionare l'immagine principale (invece di ridimensionare la miniatura incorporata) chiamando il tasto DrawImage metodo.

Quindi può succedere che si ottenga una miniatura incorporata scalata.