Reorganisation fichiers
This commit is contained in:
49
PacoMouseCYD/Platformio/SD/js/bgr565.js
Normal file
49
PacoMouseCYD/Platformio/SD/js/bgr565.js
Normal file
@@ -0,0 +1,49 @@
|
||||
document.getElementById('convertBtn').onclick = function() {
|
||||
const fileInput = document.getElementById('imageInput');
|
||||
const width = parseInt(document.getElementById('width').value, 10);
|
||||
const height = parseInt(document.getElementById('height').value, 10);
|
||||
if (!fileInput.files.length) {
|
||||
alert('Please select an image file.');
|
||||
return;
|
||||
}
|
||||
const file = fileInput.files[0];
|
||||
const reader = new FileReader();
|
||||
reader.onload = function(e) {
|
||||
const img = new Image();
|
||||
img.onload = function() {
|
||||
const canvas = document.getElementById('canvas');
|
||||
canvas.width = width;
|
||||
canvas.height = height;
|
||||
const ctx = canvas.getContext('2d');
|
||||
ctx.clearRect(0, 0, width, height);
|
||||
ctx.drawImage(img, 0, 0, width, height);
|
||||
// Preview
|
||||
document.getElementById('preview').innerHTML = '';
|
||||
const previewImg = new Image();
|
||||
previewImg.src = canvas.toDataURL();
|
||||
document.getElementById('preview').appendChild(previewImg);
|
||||
// Get pixel data
|
||||
const imageData = ctx.getImageData(0, 0, width, height).data;
|
||||
const buf = new Uint8Array(width * height * 2);
|
||||
for (let i = 0, j = 0; i < imageData.length; i += 4, j += 2) {
|
||||
let r = imageData[i];
|
||||
let g = imageData[i+1];
|
||||
let b = imageData[i+2];
|
||||
// Convert to BGR565
|
||||
let bgr565 = ((b & 0xF8) << 8) | ((g & 0xFC) << 3) | (r >> 3);
|
||||
// Invert
|
||||
bgr565 = 0xFFFF - bgr565;
|
||||
buf[j] = bgr565 & 0xFF;
|
||||
buf[j+1] = (bgr565 >> 8) & 0xFF;
|
||||
}
|
||||
// Download
|
||||
const blob = new Blob([buf], {type: 'application/octet-stream'});
|
||||
const a = document.createElement('a');
|
||||
a.href = URL.createObjectURL(blob);
|
||||
a.download = file.name.replace(/\.[^.]+$/, '') + `_${width}x${height}_bgr565inv.raw`;
|
||||
a.click();
|
||||
};
|
||||
img.src = e.target.result;
|
||||
};
|
||||
reader.readAsDataURL(file);
|
||||
};
|
||||
Reference in New Issue
Block a user