2008-09-23 36 views
6

Khách hàng của chúng tôi sẽ tải lên hình ảnh để in trên tài liệu của họ và chúng tôi đã được yêu cầu tìm cách giải quyết hình ảnh để cảnh báo họ nếu hình ảnh có độ phân giải quá thấp và trông sẽ bị bắt chước trong sản phẩm cuối cùngLấy độ phân giải của hình ảnh jpeg bằng C# và Môi trường .NET?

Nếu nói đến nó, chúng ta cũng có thể đi với các kích thước nếu có ai biết làm thế nào để có được những nhưng độ phân giải sẽ được ưa thích

Cảm ơn bạn

Trả lời

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

Nó phụ thuộc vào những gì bạn đang tìm kiếm ... nếu bạn muốn DPI của hình ảnh thì bạn đang tìm kiếm HorizontalResolution là DPI của hình ảnh.

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

Nếu bạn muốn tìm hiểu làm thế nào lớn hình ảnh là sau đó bạn cần phải tính toán các số đo của hình ảnh đó là:

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

này sẽ cung cấp cho bạn chiều cao tài liệu và chiều rộng theo inch mà sau đó bạn có thể so sánh với kích thước tối thiểu cần thiết.

+0

+1. Brian, anh đã cứu tôi khỏi hàng giờ đồng hồ nghiên cứu, hiểu biết sâu sắc! –

3

DPI có ý nghĩa khi chỉ in. 72dpi là chuẩn Mac và 96dpi là chuẩn Windows. Độ phân giải màn hình chỉ tính đến pixel, do đó, độ phân giải 72dpi 800x600 jpeg có cùng độ phân giải màn hình so với pixel 96xpi 800x600.

Quay lại thập niên 80, Mac sử dụng độ phân giải 72dpi/in để vừa với kích thước màn hình/in, vì vậy khi bạn có hình ảnh trên màn hình ở 1: 1, nó tương ứng với cùng kích thước trên máy in. Windows tăng độ phân giải màn hình lên 96dpi để hiển thị phông chữ tốt hơn .. nhưng do đó, hình ảnh màn hình không vừa với kích thước in.

Vì vậy, đối với dự án web, đừng bận tâm với DPI nếu hình ảnh không phải để in; 72dpi, 96dpi, thậm chí 1200dpi sẽ hiển thị như nhau.

Các vấn đề liên quan