Obtenga la resolución de una imagen JPEG usando C# y el Entorno .NET?


6

Nuestros clientes subirán imágenes para imprimir en sus documentos y se nos ha pedido que encontremos una forma de obtener la resolución de la imagen para advertirles si la imagen tiene una resolución demasiado baja y se verá pixelada en el producto final

Si se trata de que nosotros también podríamos seguir con las dimensiones si alguien sabe cómo conseguir los pero la resolución se preferiría

Gracias

13

System.Drawing.Image

Image newImage = Image.FromFile("SampImag.jpg"); 
newImage.HorizontalResolution 

2
Image image = Image.FromFile([file]); 
GraphicsUnit unit = GraphicsUnit.Point; 
RectangleF rect = image.GetBounds(ref unit); 
float hres = image.HorizontalResolution; 
float vres = image.VerticalResolution; 

8

Depende de lo que estés buscando ... si quieres el DPI de la imagen, entonces estás buscando la Resolución Horizontal que es el DPI de la imagen.

Image i = Image.FromFile(@"fileName.jpg"); 
i.HorizontalResolution; 

Si desea averiguar qué tan grande la imagen es entonces usted necesita para calcular las mediciones de la imagen que es:

int docHeight = (i.Height/i.VerticalResolution); 
int docWidth = (i.Width/i.HorizontalResolution); 

Esto le dará la altura del documento y el ancho en pulgadas el cual entonces podrías comparar con el tamaño mínimo necesario.

  0

+1. Brian, me salvaste de horas y horas de investigación, gran idea! 13 may. 102010-05-13 21:41:14


3

DPI tiene sentido cuando solo se imprime. 72dpi es el estándar de Mac y 96dpi es el estándar de Windows. La resolución de pantalla solo tiene en cuenta los píxeles, por lo que un jpg de 72 ppp de 800x600 tiene la misma resolución de pantalla que un píxel de 800x600 de 96 ppp.

En la década de los 80, Mac utilizaba resolución de pantalla/impresión de 72 ppp para adaptarse al tamaño de pantalla/impresión, por lo que cuando tenía una imagen en pantalla a 1: 1, correspondía al mismo tamaño en la impresora. Windows aumentó la resolución de la pantalla a 96 ppp para tener una mejor visualización de fuente ... pero como consecuencia, la imagen de la pantalla ya no se ajusta al tamaño impreso.

Por lo tanto, para un proyecto web, no se moleste con DPI si la imagen no es para impresión; 72dpi, 96dpi, incluso 1200dpi deberían mostrar lo mismo.