Como: Criar imagens em miniatura
Uma imagem em miniatura é uma versão pequena de uma imagem. Você pode criar uma imagem em miniatura chamando o método GetThumbnailImage de um objeto Image.
Exemplo
O exemplo a seguir constrói um objeto Image a partir de um arquivo JPG. A imagem original tem uma largura de 640 pixels e uma altura de 479 pixels. O código cria uma imagem em miniatura que tem uma largura de 100 pixels e uma altura de 100 pixels.
A ilustração a seguir mostra a imagem em miniatura:
Observação
Neste exemplo, um método de retorno de chamada é declarado, mas nunca usado. Isso suporta todas as versões do GDI+.
public bool ThumbnailCallback()
{
return true;
}
private void GetThumbnail(PaintEventArgs e)
{
Image.GetThumbnailImageAbort callback =
new Image.GetThumbnailImageAbort(ThumbnailCallback);
Image image = new Bitmap(@"c:\FakePhoto.jpg");
Image pThumbnail = image.GetThumbnailImage(100, 100, callback, new
IntPtr());
e.Graphics.DrawImage(
pThumbnail,
10,
10,
pThumbnail.Width,
pThumbnail.Height);
}
Public Function ThumbnailCallback() As Boolean
Return True
End Function
Private Sub GetThumbnail(ByVal e As PaintEventArgs)
Dim callback As New Image.GetThumbnailImageAbort(AddressOf ThumbnailCallback)
Dim image As Image = New Bitmap("c:\FakePhoto.jpg")
Dim pThumbnail As Image = image.GetThumbnailImage(100, 100, callback, New IntPtr())
e.Graphics.DrawImage(pThumbnail, 10, 10, pThumbnail.Width, pThumbnail.Height)
End Sub
Compilando o código
O exemplo anterior foi projetado para uso com o Windows Forms e requer PaintEventArgse
, que é um parâmetro do manipulador de eventos Paint. Para executar o exemplo, siga estes passos:
Crie um novo aplicativo do Windows Forms.
Adicione o código de exemplo ao formulário.
Criar um manipulador para o evento Paint do formulário
No manipulador de Paint, chame o método
GetThumbnail
e passee
para PaintEventArgs.Encontre um arquivo de imagem do qual você deseja fazer uma miniatura.
No método
GetThumbnail
, especifique o caminho e o nome do arquivo para sua imagem.Pressione F5 para executar o exemplo.
Uma imagem em miniatura de 100 por 100 aparece no formulário.
Ver também
.NET Desktop feedback