Como posso cortar imagem sem alterar sua resolução em C # .net?
-
21-08-2019 - |
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
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