move image encoding functions to image module
This commit is contained in:
parent
816993e1b9
commit
842d536dc8
4 changed files with 416 additions and 147 deletions
|
|
@ -5,23 +5,60 @@ Ox.load('Image', function() {
|
|||
Ox.Image('png/Lenna.png', function(image) {
|
||||
var body = Ox.element('body'),
|
||||
select = Ox.element('<select>').appendTo(body);
|
||||
['Filter...', 'blur', 'channel', 'contour', 'invert', 'edges', 'emboss', 'motionBlur', 'posterize', 'sharpen', 'solarize'].forEach(function(filter) {
|
||||
[
|
||||
'Method...', 'blur(1)', 'blur(2)', 'blur(3)',
|
||||
'channel("r")', 'channel("g")', 'channel("b")',
|
||||
'channel("h")', 'channel("s")', 'channel("l")',
|
||||
'contour()', 'edges()', 'emboss()',
|
||||
'encode("some secret stuff")', 'decode()',
|
||||
'encode("some secret stuff", true)', 'decode(true)',
|
||||
'encode("some secret stuff", 1)', 'decode(1)',
|
||||
'encode("some secret stuff", 127)', 'decode(127)',
|
||||
'hue(0)', 'hue(120)', 'hue(240)',
|
||||
'invert()',
|
||||
'lightness(-0.5)', 'lightness(0.5)',
|
||||
'motionBlur()', 'posterize()',
|
||||
'saturation(-0.5)', 'saturation(0.5)',
|
||||
'sharpen()', 'solarize()', 'src("png/Lenna.png")'
|
||||
].forEach(function(filter) {
|
||||
Ox.element('<option>').html(filter).appendTo(select);
|
||||
});
|
||||
select[0].onchange = function() {
|
||||
if (select[0].value[0] == select[0].value[0].toLowerCase()) {
|
||||
Ox.element('#filter').attr({
|
||||
src: image[select[0].value]().url()
|
||||
});
|
||||
var split = select[0].value.split('('),
|
||||
fn = split[0],
|
||||
args = split[1].length == 1 ? []
|
||||
: split[1].split(')')[0].split(', ').map(function(v) {
|
||||
return v == 'true' ? true
|
||||
: v == 'false'? false
|
||||
: v[0] == '"' ? v.split('"')[1]
|
||||
: parseFloat(v);
|
||||
});
|
||||
if (fn == 'encode' || fn == 'src') {
|
||||
image[fn].apply(null, Ox.merge(args, function(image) {
|
||||
Ox.element('#filter').attr({
|
||||
src: image.src()
|
||||
});
|
||||
}));
|
||||
} else if (fn == 'decode') {
|
||||
image[fn].apply(null, Ox.merge(args, function(str) {
|
||||
alert(str);
|
||||
}));
|
||||
} else {
|
||||
Ox.element('#filter').attr({
|
||||
src: image[fn].apply(null, args).src()
|
||||
});
|
||||
}
|
||||
select[0].selectedIndex = 0;
|
||||
}
|
||||
}
|
||||
Ox.element('<br>').appendTo(body);
|
||||
Ox.element('<img>').attr({
|
||||
src: image.url()
|
||||
src: image.src()
|
||||
}).appendTo(body);
|
||||
Ox.element('<img>').attr({
|
||||
id: 'filter',
|
||||
src: image.url()
|
||||
src: image.src()
|
||||
}).appendTo(body);
|
||||
//Ox.element('<img>').attr({src: image.saturation(0.5).blur().url()}).appendTo(Ox.element('body'));
|
||||
});
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue