px: esencia, píxeles físicos en el desarrollo móvil

Autor: IT Sectr Publicado: 2026-02-25 Tiempo de lectura: 7 min

px — un píxel físico, el elemento más pequeño de una imagen en la pantalla de un dispositivo. En el desarrollo móvil, px se utiliza como unidad básica de resolución de pantalla y densidad de píxeles (PPI), pero prácticamente nunca se usa para el diseño de interfaces; en su lugar, se utilizan unidades lógicas pt, dp y sp. Este artículo explica en qué se diferencia px de las unidades lógicas, cómo se relacionan la resolución y PPI, y por qué usar px directamente en el código es un antipatrón.

Puntos clave

  • px — un píxel físico de la pantalla que no tiene en cuenta la densidad de la pantalla (PPI)
  • Resolución de pantalla en px — el número de píxeles de ancho y alto, por ejemplo 1179 × 2556 px
  • PPI — píxeles por pulgada, el principal indicador de nitidez de imagen
  • Unidades lógicas (dp, pt, sp) abstraen px y adaptan la interfaz a diferentes pantallas
  • Usar px en el código es un antipatrón porque la interfaz no se mostrará correctamente en dispositivos con diferente densidad

¿Qué es px?

px (pixel, picture element) — el elemento direccionable más pequeño de una imagen rasterizada o pantalla. Cada píxel almacena información de color en el modelo RGB (rojo, verde, azul) con una profundidad de color de 8 a 10 bits por canal. Las pantallas de los dispositivos móviles modernos contienen millones de píxeles: iPhone 15 Pro — 3 millones, iPad Pro 12.9" — 5.6 millones de píxeles.

El tamaño físico de un píxel depende de la densidad de la pantalla (PPI). En un dispositivo con 326 PPI (iPhone 11), un píxel mide aproximadamente 0.078 mm. En una pantalla con 460 PPI (iPhone 15 Pro) — 0.055 mm. Cuanto menor es el tamaño físico del píxel, mayor es la nitidez de la imagen. Al mismo tiempo, la densidad de píxeles afecta directamente al rendimiento del renderizado: más píxeles = más trabajo para la GPU.

Según Apple, la resolución de la pantalla del iPhone 15 Pro es 1179 × 2556 px con 460 PPI. En comparación, el iPhone SE (3.ª gen.) — 750 × 1334 px con 326 PPI. La diferencia en el número total de píxeles es casi 3 veces, lo que explica los mayores requisitos de GPU en los modelos Pro.

Resolución de pantalla en píxeles

Resolución de pantalla — el número de píxeles físicos en horizontal y vertical. Se escribe en el formato ancho × alto, por ejemplo 1179 × 2556 px. La resolución es una característica fundamental de la pantalla que no se puede cambiar mediante programación; está fijada a nivel de hardware y matriz.

DispositivoResolución (px)PPIRelación de aspecto
iPhone SE (3.ª gen.)750 × 133432616:9
iPhone 141170 × 253246019.5:9
iPhone 15 Pro Max1290 × 279646019.5:9
Samsung Galaxy S24 Ultra1440 × 312050519.5:9
Google Pixel 8 Pro1344 × 299249020:9
iPad Pro 12.9"2048 × 27322644:3

La resolución en píxeles no debe confundirse con el tamaño lógico de la pantalla (en pt para iOS o dp para Android). Por ejemplo, el iPhone 14 tiene un tamaño lógico de 390 × 844 pt, pero una resolución física de 1170 × 2532 px — exactamente 3 veces mayor, ya que el factor de escala es 3.

PPI y densidad de píxeles

PPI (pixels per inch) — el número de píxeles por pulgada de la pantalla. Se calcula mediante la fórmula: PPI = √(ancho² + alto²) / diagonal. Cuanto mayor es el PPI, más pequeños son los píxeles individuales y más suave se ve la imagen. Apple considera que una pantalla Retina tiene un PPI superior a 300 a una distancia de visualización típica.

Las diferentes categorías de dispositivos tienen diferentes densidades: Apple Watch — 326 PPI, iPhone — 326–460 PPI, iPad — 264 PPI, MacBook Pro — 254–264 PPI. Los dispositivos Android clasifican la densidad mediante Density Buckets: mdpi (160 dpi), hdpi (240), xhdpi (320), xxhdpi (480), xxxhdpi (640). Estos buckets determinan qué recurso (imagen, dimens) se cargará para el dispositivo.

Impacto del PPI en el desarrollo: cuanto mayor es la densidad, más memoria se requiere para almacenar texturas e imágenes. Un píxel en una pantalla de 500 PPI requiere 2.5 veces más memoria de GPU que en una pantalla de 320 PPI para el mismo tamaño de elemento lógico. Optimizar los assets para buckets de densidad específicos es una práctica estándar en el desarrollo Android.

px vs unidades lógicas: pt, dp, sp

Los píxeles físicos (px) se diferencian de las unidades lógicas (pt, dp, sp) en que están vinculados a la resolución del hardware y no se escalan. Las unidades lógicas, por el contrario, abstraen al desarrollador de la pantalla específica, permitiendo que un solo valor de 100 pt se muestre con el mismo tamaño físico en diferentes dispositivos.

UnidadPlataformaDepende de PPIEscalaPropósito
pxTodasSí (píxel físico)NoImágenes, búferes, Metal
ptiOS/macOSNo (punto lógico)factor de escalaLayout, UIKit, SwiftUI
dpAndroidNo (indep. de densidad)bucket de densidadLayout, tamaños de elementos
spAndroidNo (indep. de escala)densidad + escala fuenteTexto (textSize)

Fórmulas de conversión: para iOS — px = pt × scale (donde scale = 1, 2 o 3). Para Android — px = dp × (dpi / 160). El uso directo de px en el código significa que la interfaz se verá diferente en dispositivos con diferentes densidades: en una pantalla con PPI alto el elemento será demasiado pequeño, y en una con PPI bajo — demasiado grande.

Por qué no se usa px en el código

Usar px en el código fuente de una aplicación móvil es un antipatrón que provoca una visualización incorrecta de la interfaz en dispositivos con diferente densidad de píxeles. Los frameworks modernos (UIKit, SwiftUI, Jetpack Compose, XML Layouts) prohíben o no recomiendan especificar tamaños en píxeles.

  • iOS UIKit — todos los frame, bounds y constraint constants se establecen en pt. Los píxeles aparecen solo en la etapa de rasterización a través de UIGraphicsImageRenderer
  • SwiftUI — no hay API para establecer tamaños en px. Todos los valores son pt mediante Font, frame, padding
  • Android XML — si se especifica px en dimens.xml, Android Studio muestra una advertencia lint: "Use `sp` instead of `px` for text sizes"
  • Jetpack Compose — TextUnit para texto, Dp para elementos. El compilador no permite mezclar tipos

El único uso legítimo de px en el código es trabajar con rasters: cargar Bitmap, crear Canvas para renderizar imágenes, trabajar con Metal o OpenGL. En estos casos, px son los píxeles físicos del búfer de destino y deben tenerse en cuenta para un renderizado correcto. En todos los demás casos, se utilizan unidades lógicas.

Píxeles en imágenes y assets

Las imágenes e iconos se almacenan en píxeles, pero se suministran diferentes versiones para cada tipo de pantalla. iOS utiliza los sufijos @1x, @2x, @3x en Assets.xcassets. Android utiliza las carpetas drawable-mdpi (1×), drawable-hdpi (1.5×), drawable-xhdpi (2×), drawable-xxhdpi (3×), drawable-xxxhdpi (4×). El sistema selecciona automáticamente el archivo correcto según la densidad de la pantalla.

Escala iOSBucket AndroidFactorEjemplo (48 pt/dp)
@1xmdpi (160 dpi)48 × 48 px
@2xxhdpi (320 dpi)96 × 96 px
@3xxxhdpi (480 dpi)144 × 144 px
xxxhdpi (640 dpi)192 × 192 px

Regla de entrega de assets: cree la imagen en formato vectorial (PDF, SVG) y expórtela a copias rasterizadas de los tamaños necesarios. Los assets vectoriales se escalan sin pérdida de calidad y ocupan menos espacio en el repositorio. En Android, los recursos vectoriales se pueden usar directamente a través de VectorDrawable, lo que elimina la necesidad de múltiples copias rasterizadas.

Preguntas frecuentes

¿Cuál es la diferencia entre px y dp?

px — un píxel físico de la pantalla. dp (density-independent pixel) — una unidad lógica de Android igual a 1 px en una pantalla con densidad de 160 dpi. A diferentes densidades, dp se convierte automáticamente en un número diferente de px, conservando el tamaño físico del elemento.

¿Por qué no se pueden especificar tamaños en px en el código?

Porque px no tiene en cuenta la densidad de la pantalla. Un elemento de 100 px se verá diferente en dispositivos con diferente PPI: en una pantalla de 326 PPI será más grande que en 460 PPI. Las unidades lógicas (dp, pt, sp) resuelven este problema automáticamente.

¿Qué es PPI y cómo se calcula?

PPI (pixels per inch) — el número de píxeles por pulgada de la pantalla. Se calcula mediante la fórmula: PPI = √(w² + h²) / d, donde w y h son la resolución en px, d es la diagonal en pulgadas. Cuanto mayor es el PPI, más nítida es la imagen. La pantalla Retina de Apple comienza en 300 PPI.

¿Cuándo está justificado usar px?

px está justificado al trabajar con búferes rasterizados: crear Bitmap, renderizar en Canvas, programar shaders Metal/OpenGL, procesar imágenes de la cámara. En layout y tipografía, px no se utiliza; se aplican pt (iOS), dp y sp (Android).

¿Cómo saber la resolución de pantalla en px?

En iOS: UIScreen.main.nativeBounds devuelve el tamaño en px. En Android: DisplayMetrics.widthPixels y heightPixels de context.resources.displayMetrics. En SwiftUI: GeometryReader devuelve el tamaño en pt, para px hay que multiplicar por displayScale.

Resumen

  • px — un píxel físico de la pantalla, la unidad fundamental de resolución de pantalla
  • Resolución — el número de píxeles horizontal y vertical, fijada a nivel de hardware
  • PPI — píxeles por pulgada, determina la nitidez de la imagen y los requisitos de GPU
  • Unidades lógicas (pt, dp, sp) abstraen px y adaptan la interfaz a cualquier pantalla
  • Antipatrón — usar px en layout y tipografía; el dominio correcto son los búferes rasterizados
  • Assets se suministran en diferentes resoluciones (@1x/@2x/@3x para iOS, density buckets para Android)
  • Formatos vectoriales (PDF, SVG, VectorDrawable) son preferibles a múltiples copias rasterizadas

Desarrollaremos una aplicación móvil llave en mano

IT Sectr crea aplicaciones para iOS y Android para startups y empresas desde 2017. Le asesoraremos y le propondremos la mejor solución.

Discutir el proyecto

Lea también