Calculator Tools Calculator Tools
Create

Image to Matrix Converter

Sep 25, 2023

About this app

Convert your images into matrix-like frames

Image to Matrix Converter 🖼️ Convert your image into Matrix-like frames 🎞️

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>Image to Matrix Converter</title>
<meta name="description" content="Convert your images into matrix-like frames">
<meta name="keywords" content="Matrix, Image, Converter, Pixelate">

<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 {
function drawMatrixImage(input) {
const canvas = document.createElement('canvas');
const ctx = canvas.getContext('2d');
const img = new Image();
img.src = URL.createObjectURL(input.files[0]);
img.onload = () => {
canvas.width = img.width;
canvas.height = img.height;
ctx.drawImage(img, 0, 0, img.width, img.height);
const imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);
const data = imageData.data;
for (let i = 0; i < data.length; i += 4) {
const avg = (data[i] + data[i + 1] + data[i + 2]) / 3;
data[i] = avg; // red
data[i + 1] = avg; // green
data[i + 2] = avg; // blue
}
ctx.putImageData(imageData, 0, 0);
const matrixContainer = document.getElementById('matrix-container');
matrixContainer.innerHTML = '';
matrixContainer.appendChild(canvas);
};
}

document.addEventListener("DOMContentLoaded", function() {
const fileInput = document.getElementById('file-input');
fileInput.addEventListener('change', (e) => drawMatrixImage(fileInput));
});

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

<style>
body {
background-color: #282828;
color: #33FF00;
font-family: 'Courier New', monospace;
}
#main-container {
text-align: center;
padding-top: 50px;
}
canvas {
image-rendering: pixelated;
}
</style>
</head>
<body>
<div id="main-container" class="container">
<h1>🖼️ Convert your image into Matrix-like frames 🎞️</h1>
<input type="file" id="file-input" accept="image/*">
<div id="matrix-container"></div>
</div>
</body>
</html>