2 * Pixastic Lib - Invert filter - v0.1.0
3 * Copyright (c) 2008 Jacob Seidelin, jseidelin@nihilogic.dk, http://blog.nihilogic.dk/
4 * MIT License [http://www.opensource.org/licenses/mit-license.php]
7 Pixastic
.Actions
.invert
= {
8 process : function(params
) {
9 if (Pixastic
.Client
.hasCanvasImageData()) {
10 var data
= Pixastic
.prepareData(params
);
12 var invertAlpha
= !!params
.options
.invertAlpha
;
13 var rect
= params
.options
.rect
;
20 var offsetY
= (y
-1)*w4
;
23 var offset
= offsetY
+ (x
-1)*4;
24 data
[offset
] = 255 - data
[offset
];
25 data
[offset
+1] = 255 - data
[offset
+1];
26 data
[offset
+2] = 255 - data
[offset
+2];
27 if (invertAlpha
) data
[offset
+3] = 255 - data
[offset
+3];
31 } else if (Pixastic
.Client
.isIE()) {
32 params
.image
.style
.filter
+= " invert";
36 checkSupport : function() {
37 return (Pixastic
.Client
.hasCanvasImageData() || Pixastic
.Client
.isIE());