ArrayBuffer a conversión de blob

Tengo un proyecto donde necesito mostrar esquemas djvu en el navegador.

Encontré esto viejobiblioteca en Github que, por lo que he entendido, convierte los archivos djvu a bmp y luego los coloca en el elemento lienzo.

Como dije, la biblioteca es antigua (la última confirmación fue hace 5 años), así que necesito hacer algunas correcciones. El problema principal es que lib usa BlobBuilder obsoleto.

Pasos que hice para resolver este problema:

Descomprima esta biblioteca a través de Chrome DevToolsEl error inicial está en la línea 3774var c = "undefined" != typeof MozBlobBuilder ? MozBlobBuilder : "undefined" != typeof WebKitBlobBuilder ? WebKitBlobBuilder : console.log("warning: cannot build blobs")Comenté esta líneaA continuación, comenté la líneac = new c; y algunas de las siguientes líneas también.

Entonces, ahora se ve de esta manera (la variable I es buffer de matriz, y ololo1 y ololo2 son algún tipo de desplazamiento y límite)

var c = new Blob(new Uint8Array(new Uint8Array(I,ololo1,ololo2)))
              , b = b.createObjectURL(c)
              , c = document.getElementById(kb)
              , f = c.getContext("2d")
              , h = new Image
              , g = a[Ea >> 2]
              , i = a[Fa >> 2]
              , j = c.width
              , k = Math.round(i * j / g);

            h.onload = function()
            {
                var a = g / j;
                4 < a && (a = 4);
                1 > a && (a = 1);
                f.globalAlpha = 1;

                for (N = 0; N < a; N++)
                    f.drawImage(h, N, N, g - a + N, i - a + N, 0, 0, j, k),
                    f.globalAlpha *= 1 - 1 / a;
                R(h.complete, "Image /bmp.bmp could not be decoded")
            }
            ;
            h.onerror = function(errorMsg, url, lineNumber, column, errorObj) {
                console.log(errorMsg, url, lineNumber, column, errorObj);
                console.log("Image /bmp.bmp could not be decoded!")
            }           
            ;

Y ahora me quedé atrapado en el error "¡La imagen /bmp.bmp no se pudo decodificar!" (Arrojado en el controlador h.onerror).

Entonces, mi pregunta es: ¿qué estoy haciendo mal?

Respuestas a la pregunta(1)

Su respuesta a la pregunta