/**
     *  获取mask
     * @returns {Promise<unknown>}
     */
    generateMask = () => {
        // 非 alpha 为黑色,其他为白色
        const resultImage = this.outputHiddenCtx.canvas.toDataURL();
        const img = new Image();
        img.src = resultImage;

        return new Promise((resolve) => {
            img.onload = () => {
                // 创建一个新的画布和2D上下文
                const canvas = document.createElement('canvas');
                canvas.width = this.imageSize.width;
                canvas.height = this.imageSize.height;
                const ctx = canvas.getContext('2d');

                // 绘制图像到画布上
                ctx.drawImage(img, 0, 0);

                // 获取图像数据
                const imageData = ctx.getImageData(0, 0, this.imageSize.width, this.imageSize.height);
                const data = imageData.data;

                // 遍历像素数据,将 alpha 为 0 的像素设置为黑色,其他设置为白色
                for (let i = 0; i < data.length; i += 4) {
                    if (data[i + 3] === 0) {
                        data[i] = 0;     // 红
                        data[i + 1] = 0; // 绿
                        data[i + 2] = 0; // 蓝
                        data[i + 3] = 255; // alpha 设为不透明
                    } else {
                        data[i] = 255;     // 红
                        data[i + 1] = 255; // 绿
                        data[i + 2] = 255; // 蓝
                        data[i + 3] = 255; // alpha 设为不透明
                    }
                }
                // 将修改后的图像数据放回画布
                ctx.putImageData(imageData, 0, 0);

                // 返回新的 mask 图像的 data URL
                resolve(canvas.toDataURL());
            };
        });
    };