// Utility function to convert an uploaded image to base64 function getImageDataFromFile(file) { return new Promise((resolve, reject) => { const reader = new FileReader(); reader.onload = function(event) { const img = new Image(); img.onload = () => { const canvas = document.getElementById("image-canvas"); const ctx = canvas.getContext("2d"); canvas.width = img.width; canvas.height = img.height; ctx.drawImage(img, 0, 0); const imageData = ctx.getImageData(0, 0, img.width, img.height); resolve(imageData); }; img.onerror = () => reject(new Error("Failed to load image")); img.src = event.target.result; }; reader.onerror = () => reject(new Error("Failed to read file")); reader.readAsDataURL(file); }); } // Function to convert ImageData to base64 async function imageFileToBase64(file) { const imageData = await getImageDataFromFile(file); const canvas = document.createElement("canvas"); const ctx = canvas.getContext("2d"); canvas.width = imageData.width; canvas.height = imageData.height; ctx.putImageData(imageData, 0, 0); return canvas.toDataURL(); }