feat(exif): stamp RC_<ts> filenames + EXIF on capture and export

This commit is contained in:
2026-09-11 17:59:44 +07:00
parent 6faef4aef7
commit 62b9735867
6 changed files with 478 additions and 14 deletions
+11
View File
@@ -934,6 +934,7 @@ export default function App() {
}
}
const capturedAt = Date.now(); // EXIF DateTimeOriginal / file name
const { filePath } = await photoOutput.capturePhotoToFile({ enableShutterSound: shutterSound === 'on' }, {});
const sourceUri = toUri(filePath);
@@ -974,6 +975,10 @@ export default function App() {
useGeotag,
};
const options = {
// Live capture: gallery name RC_<yyyymmdd_hhmmss>.jpg and the
// shutter instant as the EXIF capture date.
exported: false,
capturedAt,
// 300dpi header + full-res screen sharpen. No evFromCamera: the camera
// AE bias is never written, so the export applies the same software EV
// gain the preview shows.
@@ -1072,6 +1077,9 @@ export default function App() {
// the photo as seen (own aspect), polaroid/wall keep their ratio crop.
{
aspect: libraryAspect,
// Library export: RC_<ts>_exported.jpg, and the loaded photo's
// EXIF (camera, dates, GPS) is carried into the file.
exported: true,
watermark: wmForExport(),
watermarkRotation: wmRotation,
gpsWatermark: gpsWm,
@@ -1093,6 +1101,9 @@ export default function App() {
// the photo as seen (own aspect), polaroid/wall keep their ratio crop.
{
aspect: libraryAspect,
// Library export: RC_<ts>_exported.jpg, and the loaded photo's
// EXIF (camera, dates, GPS) is carried into the file.
exported: true,
watermark: wmForExport(),
watermarkRotation: wmRotation,
gpsWatermark: gpsWm,