/* * Pixastic - JavaScript Image Processing Library * Copyright (c) 2008 Jacob Seidelin, jseidelin@nihilogic.dk, http://blog.nihilogic.dk/ * MIT License [http://www.nihilogic.dk/licenses/mit-license.txt] */ var Pixastic=(function(){function addEvent(el,event,handler){if(el.addEventListener) el.addEventListener(event,handler,false);else if(el.attachEvent) el.attachEvent("on"+event,handler);} function onready(handler){var handlerDone=false;var execHandler=function(){if(!handlerDone){handlerDone=true;handler();}} document.write("<"+"script defer src=\"//:\" id=\"__onload_ie_sumbox__\">");var script=document.getElementById("__onload_ie_sumbox__");script.onreadystatechange=function(){if(script.readyState=="complete"){script.parentNode.removeChild(script);execHandler();}} if(document.addEventListener) document.addEventListener("DOMContentLoaded",execHandler,false);addEvent(window,"load",execHandler);} function init(){if(!Pixastic.parseOnLoad)return;var imgEls=getElementsByClass("pixastic",null,"img");var canvasEls=getElementsByClass("pixastic",null,"canvas");var elements=imgEls.concat(canvasEls);for(var i=0;i-1){var tmp=actionName;actionName=tmp.substr(0,tmp.indexOf("("));var arg=tmp.match(/\((.*?)\)/);if(arg[1]){arg=arg[1].split(";");for(var a=0;a0) return jQuery(newElements);else return this;};};Pixastic.Actions.desaturate={process:function(params){var useAverage=!!params.options.average;if(Pixastic.Client.hasCanvasImageData()){var data=Pixastic.prepareData(params);var rect=params.options.rect;var w=rect.width;var h=rect.height;var w4=w*4;var y=h;do{var offsetY=(y-1)*w4;var x=w;do{var offset=offsetY+(x-1)*4;var brightness=useAverage?(data[offset]+data[offset+1]+data[offset+2])/3:(data[offset]*0.3+data[offset+1]*0.59+data[offset+2]*0.11);data[offset]=data[offset+1]=data[offset+2]=brightness;}while(--x);}while(--y);return true;}else if(Pixastic.Client.isIE()){params.image.style.filter+=" gray";return true;}},checkSupport:function(){return(Pixastic.Client.hasCanvasImageData()||Pixastic.Client.isIE());}}