Calculator Tools Calculator Tools
Create

Easy Drawing App

Sep 27, 2023

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>