Eu estou criando miniaturas de imagens. Eu tenho implementado a exibição de miniaturas de duas maneiras
1 - dada uma imagem, crie uma nova miniatura usando o método acima.
2 - dada uma imagem, pegue as dimensões,calcular as dimensões redimensionadas e, em seguida, definir isso como as dimensões da PictureBox. O PictureBox está definido para o modo de zoom automático, por isso, redimensionará a imagem para 1/4.
Ambos os métodos geram polegares que são 1/4 dotamanho original da imagem de entrada (somente para exibição, não estou preocupado em salvar ou trabalhar com a imagem), mas o segundo método produz uma miniatura muito mais clara, embora eu ache que ela usaria mais memória, já que não acredito em aumentar o controle realmente afeta a imagem.
Por que a miniatura resultante fica muito embaçada quando GetThumbnailImage
é usado?
Respostas:
0 para resposta № 1Veja as observações no documentação:
Se o Imagem contém uma imagem em miniatura incorporada, esse método recupera a miniatura incorporada e a dimensiona para o tamanho solicitado. Se o Imagem não contém uma imagem em miniatura incorporada, esse método cria uma imagem em miniatura redimensionando a imagem principal.
o GetThumbnailImage O método funciona bem quando a imagem em miniatura solicitada tem um tamanho de cerca de 120 x 120 pixels. Se você solicitar uma imagem em miniatura grande (por exemplo, 300 x 300) de uma Imagem que tem uma miniatura incorporada, pode haverperda perceptível de qualidade na imagem em miniatura. Pode ser melhor dimensionar a imagem principal (em vez de redimensionar a miniatura incorporada) chamando DrawImage método.
Por isso, pode acontecer de você ter uma miniatura embutida em escala maior.