diff --git a/examples/demo.js b/examples/demo.js index 1d423b4957..95854e389f 100644 --- a/examples/demo.js +++ b/examples/demo.js @@ -4,7 +4,8 @@ var defaultHtmlSequencerUi = require('./lib/defaultHtmlSequencerUi.js'), DefaultHtmlStepUi = require('./lib/defaultHtmlStepUi.js'), urlHash = require('./lib/urlHash.js'), insertPreview = require('./lib/insertPreview.js'), - versionManagement = require('./lib/versionManagement.js'); + versionManagement = require('./lib/versionManagement.js'), + isGIF = require('../src/util/isGif'); window.onload = function () { @@ -270,8 +271,8 @@ window.onload = function () { * @param {string} imageDataURL - The data URL for the image. */ function savePDF(imageDataURL) { - sequencer.getImageDimensions(imageDataURL, function(dimensions, isGIF) { - if (!isGIF) { + sequencer.getImageDimensions(imageDataURL, function(dimensions) { + if (isGIF(imageDataURL)) { // Get the dimensions of the image. let pageWidth = dimensions.width; let pageHeight = dimensions.height; diff --git a/examples/lib/defaultHtmlStepUi.js b/examples/lib/defaultHtmlStepUi.js index 3fdcfb36f8..94e9056a16 100644 --- a/examples/lib/defaultHtmlStepUi.js +++ b/examples/lib/defaultHtmlStepUi.js @@ -12,7 +12,8 @@ const intermediateHtmlStepUi = require('./intermediateHtmlStepUi.js'), urlHash = require('./urlHash.js'), _ = require('lodash'), mapHtmlTypes = require('./mapHtmltypes'), - scopeQuery = require('./scopeQuery'); + scopeQuery = require('./scopeQuery'), + isGIF = require('../../src/util/isGif'); function DefaultHtmlStepUi(_sequencer, options) { options = options || {}; @@ -379,8 +380,8 @@ function DefaultHtmlStepUi(_sequencer, options) { * */ function updateDimensions(step){ - _sequencer.getImageDimensions(step.imgElement.src, function (dim, isGIF) { - step.ui.querySelector('.' + step.name).attributes['data-original-title'].value = `

Image Width: ${dim.width}
Image Height: ${dim.height}
${isGIF ? `Frames: ${dim.frames}` : ''}

`; + _sequencer.getImageDimensions(step.imgElement.src, function (dim) { + step.ui.querySelector('.' + step.name).attributes['data-original-title'].value = `

Image Width: ${dim.width}
Image Height: ${dim.height}
${isGIF(step.output) ? `Frames: ${dim.frames}` : ''}

`; }); } diff --git a/src/util/getImageDimensions.js b/src/util/getImageDimensions.js index b2323cde24..18382de4cb 100644 --- a/src/util/getImageDimensions.js +++ b/src/util/getImageDimensions.js @@ -1,7 +1,6 @@ const getPixels = require('get-pixels'); module.exports = function getImageDimensions(img, cb) { let dimensions; - let isGIF; getPixels(img, function(err, pixels) { if (pixels.shape.length === 4) { const [frames, width, height] = pixels.shape; @@ -10,8 +9,6 @@ module.exports = function getImageDimensions(img, cb) { width, height }; - - isGIF = true; } else { const [width, height] = pixels.shape; @@ -19,11 +16,9 @@ module.exports = function getImageDimensions(img, cb) { width, height }; - - isGIF = false; } - if (cb) cb(dimensions, isGIF); + if (cb) cb(dimensions); }); }; \ No newline at end of file diff --git a/src/util/isGif.js b/src/util/isGif.js new file mode 100644 index 0000000000..5e8c29925e --- /dev/null +++ b/src/util/isGif.js @@ -0,0 +1,7 @@ +module.exports = function(url){ + if(url.match){ + const toMatch = url.match(/data:image\/(.*);/) || 'png'; + return toMatch[1] === 'gif'; + }else + return false; +};