Image Editor
About this app
Image Editor App - Edit and modify your images with magical pen, color, and negative effects.
Image Editor Image Editor Upload Image Magic Pen Color Effect Negative Effect
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="Image Editor App - Edit and modify your images with magical pen, color, and negative effects.">
<meta name="keywords" content="image editor, photo editor, image effects, pen tool, color effects, negative effects">
<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">
<link href="https://fonts.googleapis.com/css?family=Quicksand:400,700&display=swap" rel="stylesheet">
<script type="text/javascript">
try {
// App Javascript Goes Here. Place your entire script content inside the try block for error handling.
document.addEventListener("DOMContentLoaded", function() {
// Get the image input element
const imageInput = document.getElementById("image-input");
// Add event listener to handle image upload
imageInput.addEventListener("change", function() {
// Get the uploaded image file
const imageFile = imageInput.files[0];
// Create a FileReader object to read the image file
const reader = new FileReader();
// Set the callback function for when the FileReader has finished reading the image
reader.onload = function(event) {
// Get the image data URL
const imageDataUrl = event.target.result;
// Create an image element to display the uploaded image
const imageElement = document.createElement("img");
imageElement.src = imageDataUrl;
// Append the image element to the main container
const mainContainer = document.getElementById("main-container");
mainContainer.appendChild(imageElement);
};
// Read the image file as data URL
reader.readAsDataURL(imageFile);
});
// Get the magic pen button
const magicPenButton = document.getElementById("magic-pen-button");
// Add event listener to handle magic pen effect
magicPenButton.addEventListener("click", function() {
// Get the uploaded image element
const imageElement = document.querySelector("#main-container img");
// Apply magic pen effect
imageElement.style.filter = "saturate(8) brightness(0.5)";
});
// Get the color effect button
const colorEffectButton = document.getElementById("color-effect-button");
// Add event listener to handle color effect
colorEffectButton.addEventListener("click", function() {
// Get the uploaded image element
const imageElement = document.querySelector("#main-container img");
// Apply color effect
imageElement.style.filter = "sepia(1) hue-rotate(180deg)";
});
// Get the negative effect button
const negativeEffectButton = document.getElementById("negative-effect-button");
// Add event listener to handle negative effect
negativeEffectButton.addEventListener("click", function() {
// Get the uploaded image element
const imageElement = document.querySelector("#main-container img");
// Apply negative effect
imageElement.style.filter = "invert(1)";
});
});
} catch (error) {
// This will throw the error to the parent window.
throw error;
}
</script>
<style>
body {
font-family: 'Quicksand', sans-serif;
background-color: #f8f9fa;
}
.container {
max-width: 600px;
margin: 0 auto;
text-align: center;
}
h1 {
margin-top: 40px;
margin-bottom: 20px;
font-size: 28px;
font-weight: 700;
color: #333;
}
.upload-container {
margin-bottom: 20px;
}
.upload-container label {
display: inline-block;
padding: 10px 20px;
background-color: #007bff;
color: #fff;
border-radius: 5px;
cursor: pointer;
}
.upload-container input[type="file"] {
display: none;
}
.effect-buttons {
margin-top: 20px;
}
.effect-buttons button {
display: inline-block;
margin-right: 10px;
padding: 10px 20px;
background-color: #28a745;
color: #fff;
border-radius: 5px;
cursor: pointer;
}
.image-container {
margin-top: 40px;
}
</style>
</head>
<body>
<div id="main-container" class="container">
<h1>Image Editor</h1>
<div class="upload-container">
<label for="image-input">Upload Image</label>
<input type="file" id="image-input" accept="image/*">
</div>
<div class="effect-buttons">
<button id="magic-pen-button">Magic Pen</button>
<button id="color-effect-button">Color Effect</button>
<button id="negative-effect-button">Negative Effect</button>
</div>
<div class="image-container">
<!-- Uploaded image will be displayed here -->
</div>
</div>
</body>
</html>
NEW APPS
These are apps made by the community!