Calculator Tools Calculator Tools
Create

Drawing App

Jan 5, 2024

About this app

A fun drawing app where you can create amazing artwork.

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>Drawing App</title>
<meta name="description" content="A fun drawing app where you can create amazing artwork.">
<meta name="keywords" content="drawing, art, painting, sketching, creativity">

<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 the drawing canvas
const canvas = document.createElement('canvas');
canvas.id = 'drawing-canvas';
canvas.width = window.innerWidth;
canvas.height = window.innerHeight;
document.getElementById('main-container').appendChild(canvas);

// Get the drawing context
const ctx = canvas.getContext('2d');

// Set initial drawing properties
ctx.lineWidth = 5;
ctx.lineCap = 'round';
ctx.strokeStyle = 'black';

// Track the current position of the mouse cursor
let isDrawing = false;
let lastX = 0;
let lastY = 0;

// Add event listeners to handle drawing
canvas.addEventListener('mousedown', startDrawing);
canvas.addEventListener('mousemove', draw);
canvas.addEventListener('mouseup', stopDrawing);
canvas.addEventListener('mouseout', stopDrawing);

function startDrawing(e) {
isDrawing = true;
[lastX, lastY] = [e.clientX, e.clientY];
}

function draw(e) {
if (!isDrawing) return;
ctx.beginPath();
ctx.moveTo(lastX, lastY);
ctx.lineTo(e.clientX, e.clientY);
ctx.stroke();
[lastX, lastY] = [e.clientX, e.clientY];
}

function stopDrawing() {
isDrawing = false;
}

// Function to end the game and show credits
function endGame() {
// Clear the canvas
ctx.clearRect(0, 0, canvas.width, canvas.height);

// Show the credits
const credits = document.createElement('div');
credits.innerHTML = '<h1>Game Over!</h1><p>Credits:</p><ul><li>Developer: Your Name</li><li>Designer: Another Name</li></ul>';
document.getElementById('main-container').appendChild(credits);
}

// Call the endGame function
endGame();
});

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

<style>
/* App CSS Goes Here */
body {
background-color: #f8f8f8;
}

canvas {
position: absolute;
top: 0;
left: 0;
z-index: 1;
}

#main-container {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
z-index: 2;
}

#main-container h1 {
font-family: 'Arial', sans-serif;
font-size: 48px;
color: #333;
text-align: center;
}

#main-container p {
font-family: 'Arial', sans-serif;
font-size: 24px;
color: #555;
text-align: center;
}

#main-container ul {
list-style: none;
padding: 0;
margin: 0;
}

#main-container li {
font-family: 'Arial', sans-serif;
font-size: 18px;
color: #777;
margin-bottom: 10px;
}
</style>
</head>
<body>
<div id="main-container" class="container">
<!-- App HTML Goes Here -->
</div>
</body>
</html>