diff options
| author | jules <jules@okfoc.us> | 2013-12-16 17:14:36 -0500 |
|---|---|---|
| committer | jules <jules@okfoc.us> | 2013-12-16 17:14:36 -0500 |
| commit | 7757dbbde59050b9c6e0630c1e9d49a3967ec115 (patch) | |
| tree | a9e913bcf3a53896c6c844304bb3c00221693384 | |
| parent | 448f24787e7fefa01c4689cb1b163933e483f789 (diff) | |
split out image ajax utility
| -rw-r--r-- | gif-animate.html | 1 | ||||
| -rw-r--r-- | gif-dither.html | 1 | ||||
| -rw-r--r-- | gif.html | 1 | ||||
| -rw-r--r-- | js/images.js | 47 | ||||
| -rw-r--r-- | js/util.js | 48 | ||||
| -rw-r--r-- | shader-animate.html | 1 | ||||
| -rw-r--r-- | shader-demo.html | 1 |
7 files changed, 54 insertions, 46 deletions
diff --git a/gif-animate.html b/gif-animate.html index 7c0b774..4058115 100644 --- a/gif-animate.html +++ b/gif-animate.html @@ -22,6 +22,7 @@ <script type="text/javascript" src="js/vendor/gif.js"></script> <script type="text/javascript" src="js/vendor/canvasquery.js"></script> <script type="text/javascript" src="js/canvasquery.dither.js"></script> +<script type="text/javascript" src="js/image.js"></script> <script type="text/javascript" src="js/util.js"></script> <script type="text/javascript"> diff --git a/gif-dither.html b/gif-dither.html index 5a9cb09..2497595 100644 --- a/gif-dither.html +++ b/gif-dither.html @@ -28,6 +28,7 @@ <script type="text/javascript" src="js/vendor/dataUriToBlob.js"></script> <script type="text/javascript" src="js/vendor/canvasquery.js"></script> <script type="text/javascript" src="js/canvasquery.dither.js"></script> +<script type="text/javascript" src="js/image.js"></script> <script type="text/javascript" src="js/util.js"></script> <script type="text/javascript"> @@ -27,6 +27,7 @@ <script type="text/javascript" src="js/vendor/FileSaver/FileSaver.js"></script> <script type="text/javascript" src="js/vendor/canvasquery.js"></script> <script type="text/javascript" src="js/canvasquery.dither.js"></script> +<script type="text/javascript" src="js/image.js"></script> <script type="text/javascript" src="js/util.js"></script> <script type="text/javascript"> diff --git a/js/images.js b/js/images.js new file mode 100644 index 0000000..ffb7dad --- /dev/null +++ b/js/images.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) +} + + @@ -28,6 +28,8 @@ function asin(n){ return Math.sin(n) } function acos(n){ return Math.cos(n) } function atan(n){ return Math.atan(n) } function atan2(n){ return Math.atan2(n) } +function sinp(n){ return (Math.sin(n)+1)/2 } +function cosp(n){ return (Math.cos(n)+1)/2 } function random(){ return Math.random() } function rand(n){ return (Math.random()*n) } function randint(n){ return rand(n)|0 } @@ -44,49 +46,3 @@ function smoothstep(n,a,b){ return t * t * (3.0 - 2.0 * t) } -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) -} - diff --git a/shader-animate.html b/shader-animate.html index fea5aae..80d71aa 100644 --- a/shader-animate.html +++ b/shader-animate.html @@ -32,6 +32,7 @@ delay <input type="text" id="delay" value="60"> <script type="text/javascript" src="js/vendor/canvasquery.js"></script> <script type="text/javascript" src="js/canvasquery.dither.js"></script> <script type="text/javascript" src="js/color.js"></script> +<script type="text/javascript" src="js/image.js"></script> <script type="text/javascript" src="js/util.js"></script> <script type="text/javascript"> diff --git a/shader-demo.html b/shader-demo.html index 941db28..5670b5f 100644 --- a/shader-demo.html +++ b/shader-demo.html @@ -30,6 +30,7 @@ delay <input type="text" id="delay" value="60"> <script type="text/javascript" src="js/vendor/canvasquery.js"></script> <script type="text/javascript" src="js/canvasquery.dither.js"></script> <script type="text/javascript" src="js/color.js"></script> +<script type="text/javascript" src="js/image.js"></script> <script type="text/javascript" src="js/util.js"></script> <script type="text/javascript"> |
