Access all Essential Apps with Just One Click.
Browse By Category
Our Categories are Extraordinary
Font
Window software
Photoshop PSD
IllustratorSVG
Adobe Premiere Pro
Adobe After Effects
Featured Items
These Items are Extraordinary
If the central seconds hand stops directly on one of these fine blue lines, it gives a clear reading of two, four or sixth eighths of a second. If it comes to a halt between the indices, you can read the time recorded to the nearest one , three, five or seven eighths of a second.
[products limit=”8″ columns=”4″ orderby=”id” order=”DESC” visibility=”visible”]
Products
Buy now our featured products to get latest tools, templates & softwares
[products limit=”8″ columns=”4″ visibility=”featured” ]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Image Converter</title>
<style>
body {
font-family: Arial, sans-serif;
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
background-color: #f4f4f4;
}
.container {
background: #fff;
padding: 20px;
border-radius: 10px;
box-shadow: 0 0 10px rgba(0,0,0,0.1);
text-align: center;
width: 90%;
max-width: 400px;
}
.drop-zone {
border: 2px dashed #aaa;
padding: 20px;
cursor: pointer;
margin-bottom: 10px;
}
#imageInput {
display: none;
}
select, button {
width: 100%;
padding: 10px;
margin-top: 10px;
border: 1px solid #ccc;
border-radius: 5px;
}
button {
background: #28a745;
color: white;
cursor: pointer;
}
button:hover {
background: #218838;
}
.image-preview {
position: relative;
display: inline-block;
margin-top: 10px;
}
.image-preview img {
max-width: 100%;
border-radius: 5px;
}
.download-icon {
position: absolute;
top: 10px;
right: 10px;
background: red;
color: white;
padding: 10px;
border-radius: 50%;
cursor: pointer;
text-decoration: none;
font-size: 16px;
}
.loader {
display: none;
font-weight: bold;
margin-top: 10px;
}
</style>
</head>
<body>
<div class="container">
<div class="drop-zone" id="dropZone">Drag & Drop or Click to Upload Image</div>
<input type="file" id="imageInput" accept="image/*">
<select id="formatSelect">
<option value="png">PNG</option>
<option value="jpeg">JPEG</option>
<option value="webp">WEBP</option>
<option value="bmp">BMP</option>
</select>
<button id="convertButton">Convert</button>
<div class="loader" id="conversionLoader">Converting...</div>
<div class="image-preview" id="originalImageContainer" style="display: none;">
<img id="originalImage" src="" alt="Original Image">
</div>
<div class="image-preview" id="convertedImageContainer" style="display: none;">
<a id="downloadLink" class="download-icon" download>⬇</a>
<img id="convertedImage" src="" alt="Converted Image">
</div>
<div class="loader" id="downloadLoader">Your Download is being Ready...</div>
</div>
<script>
const dropZone = document.getElementById("dropZone");
const imageInput = document.getElementById("imageInput");
const formatSelect = document.getElementById("formatSelect");
const convertButton = document.getElementById("convertButton");
const downloadLink = document.getElementById("downloadLink");
const originalImage = document.getElementById("originalImage");
const convertedImage = document.getElementById("convertedImage");
const originalImageContainer = document.getElementById("originalImageContainer");
const convertedImageContainer = document.getElementById("convertedImageContainer");
const conversionLoader = document.getElementById("conversionLoader");
const downloadLoader = document.getElementById("downloadLoader");
let selectedFile = null;
dropZone.addEventListener("click", () => imageInput.click());
dropZone.addEventListener("dragover", (e) => {
e.preventDefault();
dropZone.style.background = "#e9ecef";
});
dropZone.addEventListener("dragleave", () => dropZone.style.background = "");
dropZone.addEventListener("drop", (e) => {
e.preventDefault();
dropZone.style.background = "";
selectedFile = e.dataTransfer.files[0];
dropZone.textContent = selectedFile.name;
showOriginalImage();
});
imageInput.addEventListener("change", (e) => {
selectedFile = e.target.files[0];
dropZone.textContent = selectedFile.name;
showOriginalImage();
});
function showOriginalImage() {
if (selectedFile) {
const reader = new FileReader();
reader.onload = (e) => {
originalImage.src = e.target.result;
originalImageContainer.style.display = "block";
};
reader.readAsDataURL(selectedFile);
}
}
convertButton.addEventListener("click", () => {
if (!selectedFile) {
alert("Please select an image first.");
return;
}
conversionLoader.style.display = "block";
setTimeout(() => {
const format = formatSelect.value;
const reader = new FileReader();
reader.onload = (e) => {
const img = new Image();
img.src = e.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);
canvas.toBlob((blob) => {
const url = URL.createObjectURL(blob);
convertedImage.src = url;
convertedImageContainer.style.display = "block";
conversionLoader.style.display = "none";
downloadLoader.style.display = "block";
setTimeout(() => {
downloadLink.href = url;
downloadLink.download = `converted.${format}`;
downloadLoader.style.display = "none";
}, 5000);
}, `image/${format}`);
};
};
reader.readAsDataURL(selectedFile);
}, 5000);
});
</script>
</body>
</html>