私はブラウザでDJスキーマを表示する必要があるプロジェクトを持っています。ArrayBufferからBLOBへの変換
これは私が理解する限り、djvuファイルをbmpに変換してキャンバス要素に入れています。
私が言ったように、図書館は古いです(最後のコミットは5年前でした)ので、私はいくつかの訂正をする必要があります。主な問題は、libが廃止されたBlobBuilderを使用することです。私はこの問題を解決するためになさ
ステップ:
- 解凍このライブラリクロームデベロッパーツール経由
- 初期誤差がライン3774
var c = "undefined" != typeof MozBlobBuilder ? MozBlobBuilder : "undefined" != typeof WebKitBlobBuilder ? WebKitBlobBuilder : console.log("warning: cannot build blobs")
- である私がコメントアウト、次
- この行をコメントアウト
c = new c;
と次の行もあります。
だから、今、それはこのように見えます(変数Iは、配列バッファ、およびololo1であり、いくつかのオフセットの種類と制限がololo2ある)
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!")
}
;
そして今、私はエラー「画像/ BMPで立ち往生。 bmpをデコードできませんでした! "(h.onerrorハンドラでスローされました)。
私の質問は、私が間違っていることですか?
元は 'c.append(。(新Uint8Array(新Uint8Array(I、ololo1、ololo2)))バッファー)でした'。 新しいBlob([new Uint8Array(I、ololo1、ololo2)]) ';でちょうど良いはずです。 – Kaiido
@Kaiido多くの感謝、魅力のように動作します。回答として投稿できますか? – Rulisp