summaryrefslogtreecommitdiff
path: root/js/image.js
diff options
context:
space:
mode:
authorjules <jules@okfoc.us>2013-12-16 17:23:44 -0500
committerjules <jules@okfoc.us>2013-12-16 17:23:44 -0500
commit8eef5bdd6194e32168df5ebd5dc16dbfe53faf42 (patch)
tree60d8c98760e34e4d0a77562c16d7bf29fee6a236 /js/image.js
parent7757dbbde59050b9c6e0630c1e9d49a3967ec115 (diff)
rn
Diffstat (limited to 'js/image.js')
-rw-r--r--js/image.js47
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)
+}
+
+