diff --git a/app/templates/capture.html b/app/templates/capture.html index a5b3b34..2d48009 100644 --- a/app/templates/capture.html +++ b/app/templates/capture.html @@ -509,7 +509,7 @@ async function takePhoto() { setTimeout(() => flash.classList.remove('flash'), 150); const blob = await new Promise((resolve, reject) => { - canvas.toBlob(b => b ? resolve(b) : reject(new Error('Canvas capture failed')), 'image/jpeg', 0.92); + canvas.toBlob(b => b ? resolve(b) : reject(new Error('Canvas capture failed')), 'image/jpeg', 0.97); }); await savePhoto(blob); @@ -571,7 +571,7 @@ async function savePhoto(jpegBlob) { } } -const MAX_UPLOAD_BYTES = 10 * 1024 * 1024; +const MAX_UPLOAD_BYTES = 20 * 1024 * 1024; function convertToJPEG(file) { return new Promise((resolve, reject) => { @@ -579,7 +579,7 @@ function convertToJPEG(file) { reader.onload = (e) => { const img = new Image(); img.onload = () => { - let quality = 0.92; + let quality = 0.97; let scale = 1.0; const attempt = () => { @@ -593,14 +593,14 @@ function convertToJPEG(file) { reject(new Error('Failed to convert')); return; } - if (blob.size <= MAX_UPLOAD_BYTES || quality <= 0.3) { + if (blob.size <= MAX_UPLOAD_BYTES || quality <= 0.5) { resolve(blob); } else { - if (quality > 0.5) { - quality -= 0.1; + if (quality > 0.85) { + quality -= 0.03; } else { - scale *= 0.8; - quality = 0.7; + scale *= 0.85; + quality = 0.92; } attempt(); }