Calculator Tools Calculator Tools
Create

Splatters - A Fun Paint Application

Dec 1, 2025

About this app

Splatters is a fun and interactive paint application that allows users to create colorful and vibrant artworks using paint splatters. Let your creativity flow!

Splatters - A Fun Paint Application Welcome to Splatters! Clear

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>Splatters - A Fun Paint Application</title>
<meta name="description" content="Splatters is a fun and interactive paint application that allows users to create colorful and vibrant artworks using paint splatters. Let your creativity flow!">
<meta name="keywords" content="paint, splatters, creativity, art, drawing, colors, web app">

<!-- Libraries -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.min.js" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.6.0/css/fontawesome.min.css" crossorigin="anonymous">

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

let canvas, ctx;
let isDrawing = false;

document.addEventListener("DOMContentLoaded", function() {
canvas = document.getElementById('canvas');
ctx = canvas.getContext('2d');
resizeCanvas();

window.addEventListener('resize', resizeCanvas);

canvas.addEventListener('mousedown', startPosition);
canvas.addEventListener('mouseup', endPosition);
canvas.addEventListener('mousemove', draw);
canvas.addEventListener('touchstart', startPosition);
canvas.addEventListener('touchend', endPosition);
canvas.addEventListener('touchmove', draw);
});

function startPosition(e) {
isDrawing = true;
draw(e);
}

function endPosition() {
isDrawing = false;
ctx.beginPath();
}

function draw(e) {
if(!isDrawing) return;

ctx.lineWidth = 20;
ctx.lineCap = 'round';
ctx.strokeStyle = getRandomColor();

const rect = canvas.getBoundingClientRect();
ctx.lineTo(e.clientX - rect.left, e.clientY - rect.top);
ctx.stroke();
ctx.beginPath();
ctx.moveTo(e.clientX - rect.left, e.clientY - rect.top);
}

function resizeCanvas() {
canvas.width = window.innerWidth;
canvas.height = window.innerHeight - 100;
}

function getRandomColor() {
const letters = '0123456789ABCDEF';
let color = '#';
for (let i = 0; i < 6; i++) {
color += letters[Math.floor(Math.random() * 16)];
}
return color;
}

function clearCanvas() {
ctx.clearRect(0, 0, canvas.width, canvas.height);
}

} catch (error) {
throw error;
}
</script>

<style>
body {
background: linear-gradient(120deg, #ff9a9e 0%, #fad0c4 100%);
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
height: 100vh;
margin: 0;
}

#canvas {
border: 2px solid #2b2d42;
background-color: #ffffff;
margin-bottom: 20px;
}

#clear-btn {
background-color: #e63946;
color: white;
border: none;
padding: 10px 20px;
border-radius: 5px;
cursor: pointer;
transition: background-color 0.3s;
}

#clear-btn:hover {
background-color: #d62839;
}

h2 {
margin-bottom: 20px;
color: #2b2d42;
}
</style>
</head>
<body>
<div id="main-container" class="container text-center">
<h2>Welcome to Splatters!</h2>
<canvas id="canvas"></canvas>
<button id="clear-btn" onclick="clearCanvas()">Clear</button>
</div>
</body>
</html>