initial SSD1619 support

This commit is contained in:
Shuanglei Tao
2025-03-11 10:14:12 +08:00
parent d427580198
commit 19456a5886
11 changed files with 253 additions and 26 deletions

View File

@@ -122,7 +122,7 @@ function canvas2gray(canvas) {
}
// white: 1, black/red: 0
function canvas2bytes(canvas, type='bw') {
function canvas2bytes(canvas, type='bw', invert = false) {
const ctx = canvas.getContext("2d");
const imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);
@@ -132,11 +132,14 @@ function canvas2bytes(canvas, type='bw') {
for (let y = 0; y < canvas.height; y++) {
for (let x = 0; x < canvas.width; x++) {
const i = (canvas.width * y + x) * 4;
let data;
if (type !== 'red') {
buffer.push(imageData.data[i] === 0 && imageData.data[i+1] === 0 && imageData.data[i+2] === 0 ? 0 : 1);
data = imageData.data[i] === 0 && imageData.data[i+1] === 0 && imageData.data[i+2] === 0 ? 0 : 1;
} else {
buffer.push(imageData.data[i] > 0 && imageData.data[i+1] === 0 && imageData.data[i+2] === 0 ? 0 : 1);
data = imageData.data[i] > 0 && imageData.data[i+1] === 0 && imageData.data[i+2] === 0 ? 0 : 1;
}
if (invert) data = ~data;
buffer.push(data);
if (buffer.length === 8) {
arr.push(parseInt(buffer.join(''), 2));