Получить разрешение изображения в формате jpeg с помощью С# и среды .NET?

Наши клиенты будут загружать изображения для печати на своих документах, и нас попросили придумать способ получить разрешение изображения, чтобы предупредить их, если изображение имеет слишком низкое разрешение и будет выглядеть пиксельным в конечный продукт

Если дойдет до этого, мы могли бы также указать размеры, если кто-нибудь знает, как их получить, но разрешение было бы предпочтительнее.

Спасибо


person Josh Mein    schedule 23.09.2008    source источник


Ответы (3)


System.Drawing.Image

Image newImage = Image.FromFile("SampImag.jpg");
newImage.HorizontalResolution
person Xian    schedule 23.09.2008

Это зависит от того, что вы ищете ... если вам нужен DPI изображения, вам нужно HorizontalResolution, которое является DPI изображения.

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

Если вы хотите выяснить, насколько велико изображение, вам нужно рассчитать размеры изображения, а именно:

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

Это даст вам высоту и ширину документа в дюймах, которые вы затем сможете сравнить с минимальным необходимым размером.

person Brian ONeil    schedule 23.09.2008
comment
+1. Брайан, ты спас меня от многих часов исследований, отличное понимание! - person Todd Main; 14.05.2010

DPI имеет смысл только при печати. 72 dpi — это стандарт Mac, а 96 dpi — стандарт Windows. Разрешение экрана учитывает только пиксели, поэтому jpeg 72 dpi 800x600 — это то же разрешение экрана, что и 96 dpi 800x600 пикселей.

Еще в 80-х годах Mac использовал разрешение экрана/печати 72 dpi, чтобы соответствовать размеру экрана/печати, поэтому, когда у вас было изображение на экране в масштабе 1:1, оно соответствовало тому же размеру на принтере. Windows увеличила разрешение экрана до 96 точек на дюйм, чтобы шрифт лучше отображался... но, как следствие, изображение на экране больше не соответствует размеру печати.

Итак, для веб-проекта не беспокойтесь о DPI, если изображение не предназначено для печати; 72dpi, 96dpi, даже 1200dpi должны отображаться одинаково.

person Gabriel Mailhot    schedule 04.05.2010