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!

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top