diff options
| author | jules <jules@okfoc.us> | 2013-12-16 17:23:44 -0500 |
|---|---|---|
| committer | jules <jules@okfoc.us> | 2013-12-16 17:23:44 -0500 |
| commit | 8eef5bdd6194e32168df5ebd5dc16dbfe53faf42 (patch) | |
| tree | 60d8c98760e34e4d0a77562c16d7bf29fee6a236 /js/image.js | |
| parent | 7757dbbde59050b9c6e0630c1e9d49a3967ec115 (diff) | |
rn
Diffstat (limited to 'js/image.js')
| -rw-r--r-- | js/image.js | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/js/image.js b/js/image.js new file mode 100644 index 0000000..ffb7dad --- /dev/null +++ b/js/image.js @@ -0,0 +1,47 @@ +function loadImage(imageURL, callback) { + var imageURL = proxify( imageURL ); + + window.gif = window.img = null + + if (imageURL.substr(-3) === "gif") { + window.gif = GIF(imageURL); + // gif.on("error", tryToLoadNextImage); + // gif.on("rendered", trackLoadTime); + gif.on("rendered", callback); + return gif.render(); + } else { + window.img = new Image(); + // img.addEventListener("error", tryToLoadNextImage); + img.addEventListener("load", callback); + img.crossOrigin = "anonymous"; + return img.src = imageURL; + } +} + +function giveImage(t) { + if (window.gif) { + return gif.frames[gif.currentFrame(t)]; + } else { + return img; + } +} + +function proxify (url) { + if (url.indexOf("http") == 0) + return "/cgi-bin/proxy?" + url // .replace(/^https?:\/\//, ""); + else + return url +} + +function filesize(n) { + if (n < 1e3) return n + " bytes" + if (n < 1e6) return decimalString(n/1e3) + " kb" + if (n < 1e9) return decimalString(n/1e6) + " mb" + return "WAY TOO BIG DUDE" +} +function decimalString(n){ + var m = Math.floor(n); + return m + "." + Math.round((n-m)*10) +} + + |
