Pergunta

Eu fiz pequeno programa para dividir grandes imagens e participar deles. Quando eu importar imagem que feita por "Microsoft Paint" esta imagem é "96 dpi" assim meu programa fazendo bem.

Mas eu tenho fotos que feitas por Photoshop sua resolução é 71,6 dpi quando eu cortar estas imagens a nova resolução dpi imagem recortada take 96 de modo que o tamanho é deferência entre eles.

Quero cortar a imagem com a manutenção de sua resolução como ele.

.

muito obrigado

Foi útil?

Solução

Bitmap.clone permite criar uma cópia recortada de uma imagem, que você pode salvar. Ele não deve alterar a resolução ou qualquer coisa (a imagem vai parecer ainda maior se você abri-lo em um programa que zooms em mais quando as imagens são menores). Ele não pode ser usado para expandir a tela (você vai ter erros de memória). Então, basta pegar um Image de arquivo, elenco para Bitmap, (system.drawing namespace) e clone-lo a ser menores, em seguida, salvá-lo.

Exemplo:

using System.Drawing;
//...
Bitmap x = (Bitmap) Image.FromFile(@"c:\tmp\food.png");
Image x2 = x.Clone(new Rectangle(25, 25, 50, 50), x.PixelFormat);
x2.Save(@"c:\tmp\food2.png");

Outras dicas

dpi (pontos por polegada) é apenas uma relação entre o tamanho do pixel e do tamanho em um meio. Se você tem uma imagem que é de 1024 x 768 pixels, que é 1024 x 768. Não há DPI inerente ligado a um arquivo de bitmap / binário.

Se você quiser imprimir a imagem em uma impressora que imprime em 300 dpi, então você pode calcular o tamanho do papel, por exemplo.

O SetResolution () método da classe Bitmap permite que você especifique a resolução de uma imagem.

Consulte http://msdn.microsoft. com / en-us / library / system.drawing.bitmap.setresolution.aspx

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