Conversão ArrayBuffer em blob

Eu tenho um projeto em que preciso exibir esquemas djvu no navegador.

Eu achei esse velhobiblioteca no Github que, tanto quanto eu entendi, converte arquivos djvu em bmp e os coloca no elemento canvas.

Como eu disse, a biblioteca é antiga (a última confirmação foi há 5 anos), então eu preciso fazer algumas correções. O principal problema é que a lib usa BlobBuilder obsoleto.

Etapas que fiz para resolver este problema:

Descompacte esta biblioteca através do Chrome DevToolsO erro inicial está na linha 3774var c = "undefined" != typeof MozBlobBuilder ? MozBlobBuilder : "undefined" != typeof WebKitBlobBuilder ? WebKitBlobBuilder : console.log("warning: cannot build blobs")Eu comentei esta linhaEm seguida, comentei a linhac = new c; e algumas das seguintes linhas também.

Então, agora está assim (a variável I é o buffer da matriz e ololo1 e ololo2 são algum tipo de deslocamento e limite)

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!")
            }           
            ;

E agora fiquei com o erro "A imagem / bmp.bmp não pôde ser decodificada!" (Lançada no manipulador h.onerror).

Então, minha pergunta é: o que estou fazendo de errado?

questionAnswers(1)

yourAnswerToTheQuestion