답변:
인치당 72 포인트 가 있습니다 . 인치당 96 픽셀을 가정하는 것으로 충분하다면 공식은 다소 간단합니다.
포인트 = 픽셀 * 72/96
을 사용하여 Windows에서 디스플레이의 인치당 구성된 픽셀을 가져 오는 방법이 있습니다 GetDeviceCaps
. Microsoft에는 "DPI 인식 응용 프로그램 개발" 이라는 가이드가 있습니다. " DPI 인식 글꼴 만들기"섹션을 찾아보십시오.
W3C는 디스플레이의 실제 해상도에 관계없이 픽셀 측정 px
을 정확히 1/96의 1 인치 로 정의 했으므로 위의 공식은 모든 웹 작업에 적합해야합니다.
주어진 것으로 시작 :
픽셀 (px)을 기준으로 포인트 (pt)를 찾으려면 :
72 pt x pt
------ = ----- (1) for 150dpi system
150 px y px
재정렬 :
x = (y/150) * 72 (2) for 150dpi system
그래서:
points = (pixels / 150) * 72 (3) for 150dpi system
WPF는 System.Windows.FontSizeConverter를 사용하여 포인트를 픽셀로 변환합니다. FontSizeConverter는 System.Windows.LengthConverter를 사용합니다. LengthConverter는 계수 1.333333333333333333을 사용하여 포인트 (p)에서 픽셀 (x)로 변환합니다. x = p * 1.3333333333333333
확실히이 모든 질문은 다음과 같아야합니다.
"모니터의 수평 및 수직 PPI (Pixels Per Inch)는 어떻게 얻습니까?"
인치에는 72 개의 포인트가 있습니다 (정의에 따라 "포인트"는 인치의 1 / 72nd로 정의되고 "pica"는 피트의 1 / 72nd로 정의 됨). 이 두 가지 정보를 사용하면 px에서 pt로 쉽게 변환 할 수 있습니다.
포인트 = (픽셀 / 96) * 표준 XP / Vista / 7 시스템에서 72 (공장 기본값)
포인트 = (픽셀 / 72) * OSX를 실행하는 표준 Mac에서 72 (공장 기본값)
Windows는 기본적으로 96dpi (디스플레이)에서 실행됩니다. Mac은 기본적으로 72dpi (디스플레이)에서 실행됩니다.
72 POSTSCRIPT 포인트 = 1 인치 12 POSTSCRIPT 포인트 = 1 POSTSCRIPT Pica 6 POSTSCRIPT Picas = 72 포인트 = 1 인치
1 포인트 = 1⁄72 인치 = 25.4⁄72mm = 0.3527mm
DPI = 인치당 도트 수 PPI = 인치당 픽셀 수 LPI = 인치당 라인 수
em을 측정으로 사용하는 경우 추가 정보
16px = 1em (일반 텍스트의 기본값) 8em = 16px * 8 Pixels / 16 = em
포인트와 픽셀로 변환 된 높이 선 (나만의 공식). 다음은 행 높이 필드에 213.67 포인트를 수동으로 입력 한 예입니다.
213.67 Manual Entry
0.45 Add 0.45
214.12 Subtotal
213.75 Round to a multiple of 0.75
213.00 Subtract 0.75 provides manual entry converted by Excel
284.00 Divide by 0.75 gives the number of pixels of height
여기서 213.67 포인트의 수동 입력은 284 픽셀을 제공합니다.
여기서 213.68 포인트의 수동 입력은 285 픽셀을 제공합니다.
(왜 0.45입니까? 모르겠지만 작동합니다.)