장치 속임수에 직면하여 JS/CSS에서 DPI/PPI를 정확하게 감지하는 방법은 무엇입니까?
JS/CSS에서 시스템 DPI/PPI 감지
배경
DPI/PPI 설정이 다양한 여러 기기에서 일관된 사용자 경험을 유지하는 것이 중요합니다. 고해상도 이미지를 생성하는 최신 애플리케이션용. 그러나 기존 방법은 신뢰할 수 있는 결과를 제공하지 못하기 때문에 장치의 DPI/PPI를 정확하게 감지하는 것은 어려운 일입니다.
장치 거짓말: 거짓 96ppi 읽기
고정된 " CSS의 너비가 1인치이고 offsetWidth를 확인하는 것이 합리적으로 보입니다. 그러나 iPhone은 PPI를 잘못 보고하여 96ppi라는 잘못된 값을 제공하는 것으로 알려져 있습니다. 잘못된 판독으로 인해 이 방법을 신뢰할 수 없게 됩니다.
대체 접근 방식: 장치 디스플레이 크기
또 다른 잠재적인 해결책은 장치 디스플레이 크기를 인치 단위로 검색하여 너비(픽셀 단위)로 나누는 것입니다. 그러나 JS/CSS에서는 이러한 차원에 액세스하는 것이 간단하지 않습니다.
해결책: DevicePixelRatio
다행히도 장치 DPI/PPI를 얻는 신뢰할 수 있는 방법이 있습니다:
- window.devicePixelRatio 사용: 이 속성은 장치 화면의 픽셀과 CSS 픽셀의 비율을 제공합니다.
- 테스트 요소 만들기: 다음을 사용하여 보이지 않는 요소를 만듭니다. CSS에서 1인치의 높이와 너비.
- 디스플레이 해상도 검색: 요소의 오프셋 너비와 높이에 devicePixelRatio를 곱하여 DPI/PPI를 계산합니다.
<code class="javascript">const testDiv = document.createElement('div'); testDiv.style.height = '1in'; testDiv.style.left = '-100%'; testDiv.style.position = 'absolute'; testDiv.style.top = '-100%'; testDiv.style.width = '1in'; document.body.appendChild(testDiv); const DPI_X = testDiv.offsetWidth * window.devicePixelRatio; const DPI_Y = testDiv.offsetHeight * window.devicePixelRatio; console.log(DPI_X, DPI_Y);</code>
이 방법은 기존 방법을 사용하여 PPI를 잘못 보고할 수 있는 장치를 포함하여 다양한 장치에서 정확한 DPI/PPI 판독값을 제공합니다.
위 내용은 장치 속임수에 직면하여 JS/CSS에서 DPI/PPI를 정확하게 감지하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











최근 Bitcoin의 가격이 20k 달러가 넘는 USD가 최근에 등반되면서 최근 30k를 끊었으므로 Ethereum을 만드는 데 깊이 다이빙을 할 가치가 있다고 생각했습니다.

개발자로서 어느 단계에 있든, 우리가 완료 한 작업은 크든 작든, 개인적이고 전문적인 성장에 큰 영향을 미칩니다.

그것은#039; VUE 팀에게 그것을 끝내는 것을 축하합니다. 나는 그것이 막대한 노력과 오랜 시간이라는 것을 알고 있습니다. 모든 새로운 문서도 있습니다.

나는 누군가이 매우 합법적 인 질문으로 글을 썼습니다. Lea는 브라우저에서 유효한 CSS 속성 자체를 얻는 방법에 대해 블로그를 작성했습니다. 이는 이와 같습니다.

다른 날, 나는 Corey Ginnivan의 웹 사이트에서 스크롤 할 때 카드 모음이 서로 쌓이는 것을 발견했습니다.

목표가 귀하의 사이트를 동시에 다른 크기로 표시하는 이러한 데스크탑 앱이 많이 있습니다. 예를 들어, 글을 쓸 수 있습니다
