Calculator Tools Calculator Tools
Create

Image Editor

Jan 5, 2024

About this app

A fun and easy-to-use image editor with magical pen, colorful, and negative effects.

Image Editor Image Editor Upload Image Magical Pen Colorful Negative

Related apps

Put this on your site

Source

                    <html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1">

<title>Image Editor</title>
<meta name="description" content="A fun and easy-to-use image editor with magical pen, colorful, and negative effects.">
<meta name="keywords" content="image editor, edit images, magical pen, colorful effect, negative effect">

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
<link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">

<script type="text/javascript">
try {
// App Javascript Goes Here. Place your entire script content inside the try block for error handling.

// This will run when the DOM is ready.
document.addEventListener("DOMContentLoaded", function() {
// Function to handle image upload
function handleImageUpload(event) {
var reader = new FileReader();
reader.onload = function(event) {
var imageUrl = event.target.result;
var imageElement = document.createElement("img");
imageElement.src = imageUrl;
imageElement.classList.add("img-fluid");
document.getElementById("image-container").appendChild(imageElement);
};
reader.readAsDataURL(event.target.files[0]);
}

// Function to apply magical pen effect
function applyMagicalPenEffect() {
var imageElement = document.querySelector("#image-container img");
if (imageElement) {
imageElement.style.filter = "blur(3px) brightness(1.2) contrast(1.2) grayscale(1)";
}
}

// Function to apply colorful effect
function applyColorfulEffect() {
var imageElement = document.querySelector("#image-container img");
if (imageElement) {
imageElement.style.filter = "saturate(2) hue-rotate(90deg) contrast(1.2)";
}
}

// Function to apply negative effect
function applyNegativeEffect() {
var imageElement = document.querySelector("#image-container img");
if (imageElement) {
imageElement.style.filter = "invert(1)";
}
}

// Event listener for image upload
document.getElementById("image-upload").addEventListener("change", handleImageUpload);

// Event listener for magical pen button
document.getElementById("magical-pen-button").addEventListener("click", applyMagicalPenEffect);

// Event listener for colorful button
document.getElementById("colorful-button").addEventListener("click", applyColorfulEffect);

// Event listener for negative button
document.getElementById("negative-button").addEventListener("click", applyNegativeEffect);
});

} catch (error) {
// This will throw the error to the parent window.
throw error;
}
</script>

<style>
/* App CSS Goes Here */
body {
font-family: 'Roboto', sans-serif;
background-color: #f8f9fa;
}

h1 {
text-align: center;
margin-top: 20px;
margin-bottom: 30px;
color: #333;
}

.image-upload-container {
text-align: center;
margin-bottom: 30px;
}

.image-upload-container input[type="file"] {
display: none;
}

.image-preview-container {
text-align: center;
margin-bottom: 30px;
}

.image-preview-container img {
max-width: 100%;
max-height: 400px;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}

.effect-button-container {
text-align: center;
margin-bottom: 30px;
}

.effect-button {
font-size: 18px;
padding: 10px 20px;
margin: 0 10px;
border: none;
border-radius: 5px;
background-color: #007bff;
color: #fff;
cursor: pointer;
transition: background-color 0.3s ease;
}

.effect-button:hover {
background-color: #0056b3;
}
</style>
</head>
<body>
<div id="main-container" class="container">
<h1>Image Editor</h1>

<div class="image-upload-container">
<label for="image-upload" class="btn btn-primary">Upload Image</label>
<input type="file" id="image-upload" accept="image/*">
</div>

<div class="image-preview-container">
<div id="image-container"></div>
</div>

<div class="effect-button-container">
<button id="magical-pen-button" class="effect-button">Magical Pen</button>
<button id="colorful-button" class="effect-button">Colorful</button>
<button id="negative-button" class="effect-button">Negative</button>
</div>
</div>
</body>
</html>