Image Converter
// Handle file upload
upload.addEventListener('change', (e) => {
const file = e.target.files[0];
if (file) {
const reader = new FileReader();
reader.onload = (event) => {
preview.innerHTML = ``;
};
reader.readAsDataURL(file);
}
});
// Convert image convertBtn.addEventListener('click', () => { const file = upload.files[0]; if (!file) { alert('Please upload an image first.'); return; }
const reader = new FileReader(); reader.onload = (event) => { const img = new Image(); img.src = event.target.result;
img.onload = () => { const canvas = document.createElement('canvas'); const ctx = canvas.getContext('2d'); canvas.width = img.width; canvas.height = img.height; ctx.drawImage(img, 0, 0);
// Convert to selected format
const selectedFormat = format.value;
canvas.toBlob((blob) => {
convertedImage = URL.createObjectURL(blob);
preview.innerHTML = ``;
downloadBtn.disabled = false;
}, `image/${selectedFormat}`, 0.9);
};
};
reader.readAsDataURL(file);
});
// Download converted image downloadBtn.addEventListener('click', () => { if (convertedImage) { const link = document.createElement('a'); link.href = convertedImage; link.download = `converted-image.${format.value}`; link.click(); } });