Easy Drawing App
About this app
An easy drawing app that allows you to create and view drawing videos
Easy Drawing App
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>Easy Drawing App</title>
<meta name="description" content="An easy drawing app that allows you to create and view drawing videos">
<meta name="keywords" content="drawing, app, easy, video">
<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() {
// Create a canvas element
var canvas = document.createElement("canvas");
canvas.id = "drawing-canvas";
canvas.width = 800;
canvas.height = 600;
document.getElementById("main-container").appendChild(canvas);
// Create a toolbar
var toolbar = document.createElement("div");
toolbar.id = "toolbar";
toolbar.innerHTML = `
<button id="btn-clear" class="btn btn-primary"><i class="fa fa-eraser"></i> Clear</button>
<button id="btn-save" class="btn btn-success"><i class="fa fa-save"></i> Save</button>
`;
document.getElementById("main-container").appendChild(toolbar);
// Get the canvas context
var ctx = canvas.getContext("2d");
// Initialize drawing variables
var isDrawing = false;
var lastX = 0;
var lastY = 0;
// Event listeners for drawing
canvas.addEventListener("mousedown", startDrawing);
canvas.addEventListener("mousemove", draw);
canvas.addEventListener("mouseup", stopDrawing);
canvas.addEventListener("mouseout", stopDrawing);
// Event listener for clearing the canvas
document.getElementById("btn-clear").addEventListener("click", clearCanvas);
// Event listener for saving the drawing
document.getElementById("btn-save").addEventListener("click", saveDrawing);
// Function to start drawing
function startDrawing(e) {
isDrawing = true;
[lastX, lastY] = [e.offsetX, e.offsetY];
}
// Function to draw
function draw(e) {
if (!isDrawing) return;
ctx.beginPath();
ctx.moveTo(lastX, lastY);
ctx.lineTo(e.offsetX, e.offsetY);
ctx.stroke();
[lastX, lastY] = [e.offsetX, e.offsetY];
}
// Function to stop drawing
function stopDrawing() {
isDrawing = false;
}
// Function to clear the canvas
function clearCanvas() {
ctx.clearRect(0, 0, canvas.width, canvas.height);
}
// Function to save the drawing
function saveDrawing() {
var dataURL = canvas.toDataURL("image/png");
var link = document.createElement("a");
link.href = dataURL;
link.download = "drawing.png";
link.click();
}
});
} catch (error) {
// This will throw the error to the parent window.
throw error;
}
</script>
<style>
/* App CSS Goes Here */
#drawing-canvas {
border: 1px solid #000;
margin-bottom: 20px;
}
#toolbar {
margin-bottom: 20px;
}
</style>
</head>
<body>
<div id="main-container" class="container">
<!-- App HTML Goes Here -->
</div>
</body>
</html>
NEW APPS
These are apps made by the community!