Ícones listview aparecer borrada (C #)
Pergunta
Eu estou tentando exibir uma visão "LargeIcon" em um controle listview, no entanto as imagens que eu especificar são borradas. Isto é o que eu tenho até agora: texto alt http://img220.imageshack.us/img220/1005/blurryiconsql3.jpg
Os arquivos de .png são 48x48 e é isso que eu tenho isso definido para exibir a nas propriedades ImageList. Há uma coisa que tenho notado (o que provavelmente é a causa), mas eu não sei como mudar isso. Dentro das "Imagens editor de coleção" onde você escolhe o que as imagens que você deseja para o controle ImageList, parece que ele está se pondo o tamanho errado para cada imagem. texto alt http://img83.imageshack.us/img83/5218/imagepropertiesmf9.jpg
Como você pode ver o "PhysicalDimension" e "Tamanho" está definido para 16x16 e não capacitado para ser manipulado. Alguém tem alguma idéia? Muito obrigado!
Solução
Ao adicionar um tamanho de formato PNG Ícone do editor tende a escolher o primeiro tamanho de entrada nesse arquivo, assim que pega a entrada 16x16 e está esticando isso. É por isso que você vê a 16x16 nas propriedades lá. Como sugerido, o suporte para PNG é pobre, eu estou muitas vezes encontrei-me rolar para outro formato, assim como para evitar esta situação.
Você pode abrir o arquivo no Paint.Net se você precisa de um editor livre ou algo mais inteiramente caracterizado como o Photoshop ou Fireworks e extrair o tamanho exato que você deseja.
Outras dicas
Certifique-se de conjunto ImageList.ImageSize a 48 x 48 também.
Eu não tenho certeza se o seu problema, neste caso específico, mas o suporte da Microsoft para o formato PNG é geralmente pobre. Tente adicionar as imagens no formato .bmp e eles devem apresentar bem.
Certifique-se de definir o tamanho ImageList para 48x48 px ANTES você adicionar as imagens.
Se o ImageList é definida para 32x32 e você adicionar uma imagem de 48x48, o ícone é redimensionada para 32x32. Quando você altera a ImageList para 48x48 depois, a imagem é apenas redimensionada novamente, perdendo assim qualidade e vai embaçada.
Além disso, Paint.NET (ou Photoshop) não pode abrir arquivos .ico.
Visual Studio / .NET pode lidar com 32 bits imagens PNG bem, o built-in editor de imagem no VS é um pouco falta brilho embora.
Verifique também a configuração ColorDepth em seu ImageList. Eu tive um problema semelhante com um controle TreeView, mas depois de ler a postagem anterior sobre o tamanho eu encontrei esta definição, brinquei com ele um pouco e descobriu que ele afeta muito a forma como as imagens de um ImageList são prestados. Quanto maior a profundidade, melhor a qualidade.