Como posso obter dimensões de largura e altura de tela da diagonal?

1

Todos os sites de especificações de gadgets especificam a dimensão da tela como unidade diagonal, sem largura e altura em polegadas:

Display 4.95 in (126 mm) 
1920×1080 px (445 ppi) 

Por exemplo, o site do GMD (Google Material Design) lê :

screen density = screen width (or height) in pixels / screen width (or height) in inches

E eu simplesmente não consigo encontrar uma largura de tela de gadget (ou altura) em polegadas em qualquer lugar. Apenas a unidade diagonal está em todo lugar.

Onde posso obter largura de tela (ou altura) de gadgets em polegadas?

    
por Green 16.12.2016 / 08:32

2 respostas

1

É uma questão simples de matemática. Você conhece as dimensões da tela em pixels, para calcular o comprimento diagonal em pixels e calcular a proporção de pixels para polegadas. Por exemplo, minha tela principal do PC é 24 "com resolução de 1920 × 1200. Sua diagonal medida em pixels é:

dpx2 = 19202 + 12002 = 5126400

dpx = 2264.15 px

Agora eu sei sua diagonal tanto em polegadas quanto em pixels. Eu posso calcular a densidade de pixels (pixels por polegada, PPI):

ppi = dpx / dinch = 2264.15 / 24 = 94.34

E agora posso calcular suas dimensões físicas dividindo as dimensões correspondentes em pixels por PPI:

winch = wpx / ppi = 1920 / 94.34 = 20.35

hinch = hpx / ppi = 1200 / 94.34 = 12.72

Observe que esse método não funcionará para alguns dispositivos raros que possuem pixels não quadrados. É um caso, por exemplo, com alguns tablets baratos fabricados na China, mas por outro lado é bastante incomum.

    
por 16.12.2016 / 08:47
1

Como o @dirkt disse, é fácil calcular usando o teorema de Pitágoras.

Primeiro, você precisa da proporção:

let Ratio = Widthpixels / Heightpixels

Então, você só precisa calcular:

let Widthinches = Ratio * √( (Diagonalinches²) / (Ratio² + 1) )
let Heightinches = √( (Diagonalinches²) / (Ratio² + 1) )

Isto é claro, todos assumindo pixels físicos quadrados.

    
por 16.12.2016 / 08:47