none
Capturar nome e tamanho (em pixels) das imagens, após exportar para o excel RRS feed

  • Pergunta

  • Preciso capturar o nome e tamanho (em pixels)  de imagens que estão dentro de uma determinada pasta, após exportar para o excel.

    Alguem tem noção de como devo proceder ?
    João Carlos Silvério joaocarlos.silverio@yahoo.com.br
    segunda-feira, 15 de junho de 2009 17:25

Respostas

  • Olá João,

    O primeiro passo, é obter uma lista de todas as imagens que você tem na pasta, e para isso pode utilizar o método GetFiles da classe DirectoryInfo, que está no namespace System.IO. Ela permite que você informe um filtro, assim pode obter apenas os arquivos que quiser dessa pasta (ex: *.gif, *.bmp, etc...)

    Com a lista de arquivos em mãos, basta utilizar o método FromFile da classe Image que está no namespace System.Drawing, para obter objetos dessa classe criados a partir dos arquivos da pasta, para então conseguir obter todas as informações que precisa (largura, altura, e mais).

    Algo mais ou menos assim:

    // Obtém uma referência para a pasta, para obter as imagens que estão lá
    DirectoryInfo pasta = new DirectoryInfo(@"C:\SuaPastaComImagens");
    
    // Obtém todas as imagens JPG que estão na pasta (exemplo)
    FileInfo[] arquivos = pasta.GetFiles("*.jpg");
    
    // Percorre a lista de arquivos e obtém os tamanhos
    foreach (FileInfo arq in arquivos)
    {
        // Cria uma instância da classe Image, para ler as informações da imagem
        Image img = Image.FromFile(arq.FullName);
    
        // A largura está em img.Width e a altura em img.Height
    
        // Mostra informações da imagem (exemplo)
        string info = string.Format("Imagem: {0}. Largura: {1}. Altura: {2}",
            arq.FullName, img.Width, img.Height);
    
        MessageBox.Show(info);
    }
    


    Abraços,
    Caio Proiete



    Caio Proiete Siga-me no Twitter!
    http://www.caioproiete.com
    domingo, 28 de junho de 2009 23:12
    Moderador