From a81a96f30a4833d9512cd5d93bfaed76604889dd Mon Sep 17 00:00:00 2001 From: Sean Moore Date: Thu, 1 Sep 2022 15:38:20 -0700 Subject: [PATCH] Fix problem with unconstrained number of decimal digits for exposure value in info-panel The photo exposure value will often overrun the focal length value in the info-panel when the number of decimal digits is more than a few long. By convention, there shouldn't be any decimal digits in the denominator so this fix rounds the denominator value before display. In addition, this fix increases the number of decimal digits read from the photo exif metadata to improve the precision of the exposure value to match what exiftool and other exif viewers display. --- src/backend/model/threading/MetadataLoader.ts | 2 +- .../lightbox/infopanel/info-panel.lightbox.gallery.component.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/backend/model/threading/MetadataLoader.ts b/src/backend/model/threading/MetadataLoader.ts index b111583e..195306de 100644 --- a/src/backend/model/threading/MetadataLoader.ts +++ b/src/backend/model/threading/MetadataLoader.ts @@ -152,7 +152,7 @@ export class MetadataLoader { if (Utils.isFloat32(exif.tags.ExposureTime)) { metadata.cameraData = metadata.cameraData || {}; metadata.cameraData.exposure = parseFloat( - parseFloat('' + exif.tags.ExposureTime).toFixed(4) + parseFloat('' + exif.tags.ExposureTime).toFixed(6) ); } if (Utils.isFloat32(exif.tags.FNumber)) { diff --git a/src/frontend/app/ui/gallery/lightbox/infopanel/info-panel.lightbox.gallery.component.ts b/src/frontend/app/ui/gallery/lightbox/infopanel/info-panel.lightbox.gallery.component.ts index 4acf4112..1b355e20 100644 --- a/src/frontend/app/ui/gallery/lightbox/infopanel/info-panel.lightbox.gallery.component.ts +++ b/src/frontend/app/ui/gallery/lightbox/infopanel/info-panel.lightbox.gallery.component.ts @@ -158,7 +158,7 @@ export class InfoPanelLightboxComponent implements OnInit, OnChanges { if (f > 1) { return f; } - return '1/' + 1 / f; + return '1/' + Math.round(1 / f); } hasPositionData(): boolean {