Files
squoosh/codecs/basis/asdf.html
2021-05-14 14:54:05 +01:00

35 lines
1.2 KiB
HTML

<!doctype html>
<input type="file" id="file">
<button id="go">Go</button>
<script type="module">
import encFactory from "./enc/basis_enc.js";
import decFactory from "./dec/basis_dec.js";
const {file, go} = document.all;
async function main() {
const encoder = await encFactory();
const bitmap = await createImageBitmap(file.files[0]);
const canvas = new OffscreenCanvas(bitmap.width, bitmap.height);
const ctx2 = canvas.getContext("2d");
ctx2.drawImage(bitmap, 0, 0);
const imgData = ctx2.getImageData(0, 0, canvas.width, canvas.height);
const result = encoder.encode(imgData.data, imgData.width, imgData.height);
const decoder = await decFactory();
console.log({result});
const resultImgData = decoder.decode(result);
console.log({resultImgData});
const cvs = document.createElement("canvas");
cvs.width = resultImgData.width;
cvs.height = resultImgData.height;
const ctx = cvs.getContext("2d");
ctx.putImageData(resultImgData, 0, 0);
document.body.append(cvs);
// const blob = new File([result], "lol.basis");
// const u = URL.createObjectURL(blob);
// const a = document.createElement("a")
// a.download = "lol.basis";
// a.href = u;
// a.click();
}
go.onclick = main;
</script>