He leído esta respuesta varias veces en el transcurso de varias semanas y es un buen curso intensivo en los temas relevantes, y algunos de los aprendizajes son aplicables a mi caso de uso, pero no me preocupan las pantallas o el tamaño de la pantalla del dispositivo físico.
En mi caso de uso, un usuario está cargando un archivo .png y, antes de almacenar o realizar llamadas de back-end, quiero validar que cumple con el requisito mínimo de PPI.
Actualmente, la fórmula que estoy usando es bastante simple, la hipotenusa conocida del área de impresión es de 20 pulgadas, luego tome el ancho y el alto de la imagen para calcular su distancia diagonal en píxeles, luego divídalo por 20 para obtener el PPI. Según tengo entendido, esto debería funcionar para mis propósitos; en la mayoría de los casos. Por favor, corríjame si esta suposición es incorrecta.
El problema que necesito ayuda para resolver es el hecho de que los archivos .png permiten píxeles transparentes, lo que presenta el problema de tener que modificar mi fórmula para calcular tanto el alto como el ancho al encontrar la distancia entre el primer y el último píxel no transparente en ambos ejes respectivos.
Me preguntaba si hay una biblioteca de reacción o javascript que ayudaría a hacer este tipo de introspección, o si me veo obligado a construir algún servicio de back-end que haga este tipo de análisis usando magia de imágenes o algo similar. Me gustaría evitar un viaje de ida y vuelta a la API, pero entiendo que si este tipo de análisis requiere tantos recursos que sería necesario hacerlo en el backend.
También estaría abierto a soluciones alternativas.