🛠️🐜 Antkeeper superbuild with dependencies included https://antkeeper.com
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

41 lines
1.1 KiB

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>TinyEXR to Canvas</title>
<script src="tinyexr.js"></script>
<style>
</style>
</head>
<body>
<canvas id="imgCanvas"></canvas>
</body>
<script>
let canvas = document.getElementById('imgCanvas');
let ctx = canvas.getContext('2d');
fetch("./asakusa.exr").then(response => {
return response.arrayBuffer();
}).then(arrayBuffer => {
// let exrImg = parseExr(arrayBuffer);
let data = new Uint8Array(arrayBuffer);
let exrImg = new Module.EXRLoader(data);
canvas.width = exrImg.width();
canvas.height = exrImg.height();
let imageArray = exrImg.getBytes().map(num => {
// Convert values to 0-255 range and apply gamma curve
return Math.pow(num, 0.44) * 256;
});
let image8Array = new Uint8ClampedArray(imageArray);
let imageData = new ImageData(image8Array, exrImg.width(), exrImg.height());
ctx.putImageData(imageData, 0, 0);
});
</script>
</html>