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


6

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

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

Спасибо

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

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

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

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

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

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

  0

+1. Брайан, ты спас меня от часов и часов исследований, отличная проницательность! 13 май. 102010-05-13 21:41:14


3

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

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

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