|
70 | 70 | return Object.prototype.toString.call(obj) === '[object ' + type + ']'
|
71 | 71 | }
|
72 | 72 |
|
| 73 | + loadImage.transform = function (img, options, callback, file, data) { |
| 74 | + callback(loadImage.scale(img, options, data), data) |
| 75 | + } |
| 76 | + |
73 | 77 | loadImage.onerror = function (img, event, file, callback, options) {
|
74 | 78 | revokeHelper(img, options)
|
75 | 79 | if (callback) {
|
|
80 | 84 | loadImage.onload = function (img, event, file, callback, options) {
|
81 | 85 | revokeHelper(img, options)
|
82 | 86 | if (callback) {
|
83 |
| - callback(loadImage.scale(img, options)) |
| 87 | + loadImage.transform(img, options, callback, file, {}) |
84 | 88 | }
|
85 | 89 | }
|
86 | 90 |
|
|
149 | 153 | return canvas
|
150 | 154 | }
|
151 | 155 |
|
152 |
| - // This method is used to determine if the target image |
153 |
| - // should be a canvas element: |
| 156 | + // Determines if the target image should be a canvas element: |
154 | 157 | loadImage.hasCanvasOption = function (options) {
|
155 | 158 | return options.canvas || options.crop || !!options.aspectRatio
|
156 | 159 | }
|
|
160 | 163 | // Returns a canvas object if the browser supports canvas
|
161 | 164 | // and the hasCanvasOption method returns true or a canvas
|
162 | 165 | // object is passed as image, else the scaled image:
|
163 |
| - loadImage.scale = function (img, options) { |
| 166 | + loadImage.scale = function (img, options, data) { |
164 | 167 | options = options || {}
|
165 | 168 | var canvas = document.createElement('canvas')
|
166 | 169 | var useCanvas = img.getContext ||
|
|
201 | 204 | }
|
202 | 205 | }
|
203 | 206 | if (useCanvas) {
|
204 |
| - options = loadImage.getTransformedOptions(img, options) |
| 207 | + options = loadImage.getTransformedOptions(img, options, data) |
205 | 208 | sourceX = options.left || 0
|
206 | 209 | sourceY = options.top || 0
|
207 | 210 | if (options.sourceWidth) {
|
|
0 commit comments