C# - Adicionando Thumbnail

Compartilhe este artigo!

Sobre o autor

Entre em contato...

Redação ForumWeb

Redação ForumWeb Equipe de desenvolvimento do ForumWeb.com.br, responsável pelas dicas e downloads do site.

Site do autor: http://www.forumweb.com.br

Indique este artigo

Para

Seu email

Mensagem

Fechar
Personalize sua mensagem

Código

Arquivos relacionados

  • Por enquanto, nenhum arquivo para download.

C# - Adicionando Thumbnail

Segunda-Feira, 01 de Agosto de 2011 às 11:32

Thumbnail são versões reduzidas de imagem. Para criarmos um na nossa aplicação, vamos adicionar em um form um PictureBox, para exibir a imagem; e um Button para escolhermos a imagem. Ele ficará da seguinte forma:


Já para criar o thumbnail, vamos adicionar o código abaixo ao evento click do botão Adicionar:

private void button1_Click(object sender, EventArgs e)
{
    //Por intermédio das streams é possível transportar dados como voz, vídeo, imagem, entre outros.
    Stream stream = null;

    // Abrir janela para buscar arquivo
    OpenFileDialog openFileDialog = new OpenFileDialog();

    // Diretório inicial
    openFileDialog.InitialDirectory = "c:\\";

    // Extensões permitidas (pode ser incluidas outras extensões)
    openFileDialog.Filter = "jpg files (*.jpg)|*.jpg|png files (*.png)|*.png";

    openFileDialog.RestoreDirectory = true;

    // Se clicar no botão abrir
    if (openFileDialog.ShowDialog() == DialogResult.OK)
    {
        try
        {
            // Verificação se existe arquivo escolhido
            if ((stream = openFileDialog.OpenFile()) != null)
            {
                using (stream)
                {
                    // Instanciando um Bitmap que receberá as informações do arquivo
                    Bitmap bitmap = new Bitmap(stream);

                    try
                    {
                        // Variável do tipo Guid recebendo do método Guid.NewGuid() o próximo ID da empresa
                        Guid idEmpresa = Guid.NewGuid();

                        // Informa o local onde será salvo o thumbnail
                        string local = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\Arquivos";

                        // Verifica se não existe o diretório
                        if (!Directory.Exists("Arquivos"))
                        {
                            // Cria o diretório
                            System.IO.Directory.CreateDirectory(local);
                        }

                        // Passando o endereço da pasta Arquivo e informando o nome do arquivo adicionado
                        local += "\\Logotipo_" + idEmpresa.ToString("N") + ".png";

                        // Salvando o Bitmap
                        bitmap.Save(local);

                        // Criando o Thumbnail informando parâmetros de altura, largura.
                        System.Drawing.Image avatar = bitmap.GetThumbnailImage(200, ((bitmap.Height * 200) / bitmap.Width), null, IntPtr.Zero);

                        // Salvando o Thumbnail
                        avatar.Save(local, ImageFormat.Png);

                        // Exibindo o Thumbnail adicionado
                        pictureBox1.ImageLocation = local;
                    }
                    catch
                    {
                        // Mensagem de erro, caso não seja possível incluir o logotipo
                        MessageBox.Show("Não foi possível a inclusão deste logotipo. Por favor tente novamente.", "ATENÇÃO", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                }
            }
        }
        catch
        {
            // Mensagem de erro, caso não seja possível incluir o logotipo
            MessageBox.Show("Não foi possível a inclusão deste logotipo. Por favor tente novamente.", "ATENÇÃO", MessageBoxButtons.OK, MessageBoxIcon.Warning);
        }
    }
}

Pronto, agora é só executar a aplicação e escolher uma imagem:


Autor/Fonte: Fernanda Sallai (http://www.fernandasallai.com/)

Tags:

Qual a sua opinião?

Comente e interaja!



Ainda sem comentários, comente!