feat(ui): wip canvas nodes migration

This commit is contained in:
psychedelicious
2023-05-02 20:11:12 +10:00
parent ff5e2a9a8c
commit 08ec12b391
19 changed files with 652 additions and 241 deletions

View File

@@ -0,0 +1,59 @@
export const getIsImageDataPartiallyTransparent = (imageData: ImageData) => {
let hasTransparency = false;
let isFullyTransparent = true;
const len = imageData.data.length;
let i = 3;
for (i; i < len; i += 4) {
if (imageData.data[i] !== 0) {
isFullyTransparent = false;
} else {
hasTransparency = true;
}
}
return { hasTransparency, isFullyTransparent };
};
export const getImageDataTransparency = (imageData: ImageData) => {
let isFullyTransparent = true;
let isPartiallyTransparent = false;
const len = imageData.data.length;
let i = 3;
for (i; i < len; i += 4) {
if (imageData.data[i] === 255) {
isFullyTransparent = false;
} else {
isPartiallyTransparent = true;
}
if (!isFullyTransparent && isPartiallyTransparent) {
return { isFullyTransparent, isPartiallyTransparent };
}
}
return { isFullyTransparent, isPartiallyTransparent };
};
export const areAnyPixelsBlack = (imageData: ImageData) => {
const len = imageData.data.length;
let i = 0;
for (i; i < len; ) {
if (
imageData.data[i++] === 255 &&
imageData.data[i++] === 255 &&
imageData.data[i++] === 255 &&
imageData.data[i++] === 255
) {
return true;
}
}
return false;
};
export const getIsImageDataWhite = (imageData: ImageData) => {
const len = imageData.data.length;
let i = 0;
for (i; i < len; ) {
if (imageData.data[i++] !== 255) {
return false;
}
}
return true;
};