pxPerMm property

double? get pxPerMm

Pixel density in px/mm, or null if unknown or invalid.

Implementation

double? get pxPerMm {
  final wMm = widthMm;
  final hMm = heightMm;
  final diagonalPx = math.sqrt(
    (widthPx * widthPx + heightPx * heightPx).toDouble(),
  );
  double? ppm;
  if (wMm != null && hMm != null && wMm > 0 && hMm > 0) {
    ppm = diagonalPx / math.sqrt(wMm * wMm + hMm * hMm);
  } else if (diagonalInches != null && diagonalInches! > 0) {
    ppm = diagonalPx / (diagonalInches! * 25.4);
  }
  if (ppm == null || !ppm.isFinite || ppm <= 0) {
    return null;
  }
  return ppm;
}