2008-09-23 21 views
6

Nasi klienci będą przesyłać zdjęcia do wydrukowania na swoich dokumentach. Zostaliśmy poproszeni o wymyślenie sposobu uzyskania rozdzielczości obrazu w celu ostrzeżenia, jeśli obraz ma zbyt niską rozdzielczość i będzie wyglądał pikselowo w produkcie końcowymUzyskaj rozdzielczość obrazu JPEG przy użyciu C# i środowiska .NET?

Jeśli chodzi o niej możemy również pójść o wymiarach jeśli ktoś wie jak uzyskać te jednak uchwała byłaby korzystna

Dziękuję

Odpowiedz

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

Zależy od tego, czego szukasz ... jeśli chcesz DPI obrazu, to szukasz HorizontalResolution, która jest DPI obrazu.

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

Jeśli chcesz dowiedzieć się, jak duży obraz jest następnie trzeba obliczyć wymiary obrazu, który jest:

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

To daje wysokość dokumentów i szerokość w calach, które możesz wtedy porównać do wymaganego minimalnego rozmiaru.

+0

+1. Brian, uratowałeś mnie od wielu godzin badań, świetnego wglądu! –

3

DPI ma sens tylko podczas drukowania. 72dpi to standard Mac, a 96dpi to standard Windows. Rozdzielczość ekranu uwzględnia tylko piksele, więc jpeg o rozdzielczości 72 dpi 800 x 600 ma tę samą rozdzielczość ekranu niż rozdzielczość 800 x 600 pikseli o rozdzielczości 96 dpi.

Powrót do lat 80., Mac używał ekranu 72dpi/rozdzielczości drukowania, aby dopasować ekran/rozmiar wydruku, więc gdy miałeś obraz na ekranie o 1: 1, odpowiadał on tej samej wielkości na drukarce. Windows zwiększył rozdzielczość ekranu do 96dpi, aby lepiej wyświetlać czcionki, ale w rezultacie obraz na ekranie nie pasuje już do drukowanych rozmiarów.

W przypadku projektu internetowego nie przejmuj się DPI, jeśli obraz nie jest przeznaczony do druku; 72dpi, 96dpi, nawet 1200dpi powinny wyświetlać to samo.

Powiązane problemy