C# 및 .NET 환경을 사용하여 JPEG 이미지의 해상도를 얻으십니까?

StackOverflow https://stackoverflow.com/questions/123838

  •  02-07-2019
  •  | 
  •  

문제

우리의 클라이언트는 자신의 문서에 이미지를 인쇄 할 이미지를 업로드 할 것이며 이미지가 해상도가 너무 낮고 픽일이 최종 제품

그것이 있다면, 우리는 누구든지 그것을 얻는 방법을 알고 있지만 해상도가 선호되는 경우 차원과 함께 갈 수 있습니다.

고맙습니다

도움이 되었습니까?

해결책

System.Drawing.Image

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

다른 팁

그것은 당신이 찾고있는 것에 달려 있습니다 ... 이미지의 DPI를 원한다면 이미지의 DPI 인 수평선을 찾고 있습니다.

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

이미지가 얼마나 큰지 알아 내려면 이미지의 측정 값을 계산해야합니다.

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

이렇게하면 문서 높이와 너비가 인치 씩 제공되므로 필요한 최소 크기와 비교할 수 있습니다.

인쇄 할 때만 DPI가 적합합니다. 72dpi는 Mac 표준이고 96dpi는 Windows 표준입니다. 화면 해상도는 픽셀 만 고려하므로 72dpi 800x600 jpeg는 96dpi 800x600 픽셀과 동일한 화면 해상도입니다.

80 년대로 돌아가서 Mac은 72dpi 화면/인쇄 해상도를 사용하여 화면/인쇄 크기에 맞게 사용 했으므로 1 : 1의 화면에 이미지가 있으면 프린터의 동일한 크기에 해당합니다. Windows는 화면 해상도를 96dpi로 증가시켜 글꼴 디스플레이가 더 좋았습니다. 그러나 결과적으로 화면 이미지는 더 이상 인쇄 된 크기에 맞지 않습니다.

따라서 웹 프로젝트의 경우 이미지가 인쇄용이 아닌 경우 DPI를 귀찮게하지 마십시오. 72dpi, 96dpi, 심지어 1200dpi조차도 동일하게 표시해야합니다.

Image image = Image.FromFile( [file] );
GraphicsUnit unit = GraphicsUnit.Point;
RectangleF rect = image.GetBounds( ref unit );
float hres = image.HorizontalResolution;
float vres = image.VerticalResolution;
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top