diff --git a/source/Ox.Image/Ox.Image.js b/source/Ox.Image/Ox.Image.js index 4eff9243..c53d3a97 100644 --- a/source/Ox.Image/Ox.Image.js +++ b/source/Ox.Image/Ox.Image.js @@ -525,13 +525,15 @@ Ox.load.Image = function(options, callback) { i Pixel index callback Callback function (if present, forEach is async) @*/ - that.forEach = function(fn, callback) { - var data = self.data; - Ox._loop(0, data.length, 4, function(i) { - return fn([ - data[i], data[i + 1], data[i + 2], data[i + 3] - ], getXY(i), i); - }, 10000, callback); + that.forEach = function(iterator, callback) { + var data = self.data, + forEach = callback ? Ox.nonblockingForEach : Ox.forEach; + forEach(Ox.range(0, data.length, 4), function(i) { + return iterator([ + data[i], data[i + 1], data[i + 2], data[i + 3] + ], getXY(i), i); + }, callback); + } return that; };