<!DOCTYPE html>
<html>
    <head>
        <title>Jimp browser example 1</title>
    </head>
    <body>
        
        <!-- Demonstrates loading a local file using Jimp on the main thread -->
        <script src="../lib/jimp.min.js"></script>
        <script>
            
        function dropShadow(x, y, b, a) {
            var img = new Jimp(this.bitmap.width + Math.abs(x*2) + (b*2), this.bitmap.height + Math.abs(y*2) + (b*2));
            var orig = this.clone();
            this.scan(0, 0, this.bitmap.width, this.bitmap.height, function (x, y, idx) {
				this.bitmap.data[ idx + 0 ] = 0;
				this.bitmap.data[ idx + 1 ] = 0;
				this.bitmap.data[ idx + 2 ] = 0;
				this.bitmap.data[ idx + 3 ] = this.bitmap.data[ idx + 3 ] * a;
			});
            // this.resize(this.bitmap.width + Math.abs(x) + b, this.bitmap.height + Math.abs(y) + b);
            
            var x1 = Math.max(x * -1, 0) + b;
            var y1 = Math.max(y * -1, 0) + b;
            img.composite(this, x1, y1);
            img.blur(b);
            img.composite(orig, x1 - x, y1 - y);
            //img.autocrop();
            return img;
        }
        Jimp.read("dice.png").then(function (img) {
            console.log(img.getMIME(), img.getExtension());
            var img = dropShadow.call(img, 20, 20, 20, 0.3)
            img.getBase64(Jimp.AUTO, function (err, src) {
                 var img = document.createElement("img");
                 img.setAttribute("src", src);
                 document.body.appendChild(img);
             });
        });
        </script>
        
    </body>
</html>