diff --git a/alfresco-docker-imagemagick/Dockerfile b/alfresco-docker-imagemagick/Dockerfile index 27963f21..91d8693d 100644 --- a/alfresco-docker-imagemagick/Dockerfile +++ b/alfresco-docker-imagemagick/Dockerfile @@ -10,9 +10,28 @@ ENV IMAGEMAGICK_LIB_RPM_URL=https://nexus.alfresco.com/nexus/service/local/repos ENV IMAGEMAGICK_LICENSE_FILE=https://github.com/Alfresco/acs-community-packaging/blob/master/distribution/src/main/resources/licenses/3rd-party/ImageMagick-license.txt ENV JAVA_OPTS="" -COPY target/alfresco-docker-imagemagick-${env.project_version}.jar /usr/bin +# Image comparasion utils +RUN yum -y install epel-release && \ + curl --silent --location https://rpm.nodesource.com/setup_8.x | bash - && \ + yum -y install nodejs && \ + yum -y install gcc-c++ make && \ + yum -y install libpng12 && \ + node -v && \ + npm -v && \ + #https://www.npmjs.com/package/mz + npm i mz && \ + #https://www.npmjs.com/package/resemblejs + npm i resemblejs && \ + mkdir /cmp -RUN ln /usr/bin/alfresco-docker-imagemagick-${env.project_version}.jar /usr/bin/alfresco-docker-imagemagick.jar && \ +# Image comparasion file +COPY target/compare.js /cmp +COPY target/red.png /cmp +COPY target/blue.png /cmp + +COPY target/alfresco-docker-imagemagick-2.0.0-RC2-SNAPSHOT.jar /usr/bin + +RUN ln /usr/bin/alfresco-docker-imagemagick-2.0.0-RC2-SNAPSHOT.jar /usr/bin/alfresco-docker-imagemagick.jar && \ yum install -y wget && \ wget $IMAGEMAGICK_RPM_URL && \ wget $IMAGEMAGICK_LIB_RPM_URL && \ diff --git a/alfresco-docker-imagemagick/src/main/resources/blue.png b/alfresco-docker-imagemagick/src/main/resources/blue.png new file mode 100644 index 00000000..b87f18af Binary files /dev/null and b/alfresco-docker-imagemagick/src/main/resources/blue.png differ diff --git a/alfresco-docker-imagemagick/src/main/resources/compare.js b/alfresco-docker-imagemagick/src/main/resources/compare.js new file mode 100755 index 00000000..15a2dcca --- /dev/null +++ b/alfresco-docker-imagemagick/src/main/resources/compare.js @@ -0,0 +1,42 @@ +#!/usr/bin/node +const compareImages = require('resemblejs/compareImages'); +const fs = require("mz/fs"); + + +// npm i mz +// npm i resemblejs + +async function getDiff(img1Path, img2Path){ + const options = { + output: { + errorColor: { + red: 255, + green: 0, + blue: 255 + }, + errorType: 'movement', + transparency: 0.3, + largeImageThreshold: 1200, + useCrossOrigin: false, + outputDiff: true + }, + scaleToSameSize: true, + ignore: ['nothing', 'less', 'antialiasing', 'colors', 'alpha'], + }; + + // The parameters can be Node Buffers + // data is the same as usual with an additional getBuffer() function + const data = await compareImages( + await fs.readFile(img1Path), + await fs.readFile(img2Path), + options + ); + + console.log(data); + + await fs.writeFile('./output.png', data.getBuffer()); + await fs.writeFile('./output.json', JSON.stringify(data)); +} + +getDiff(process.argv[2], process.argv[3]); +//getDiff('/Users/p3700621/Downloads/44174363_1996471110414725_5527179798176071680_o.jpg', '/Users/p3700621/Downloads/44300765_1996444827084020_2153540260556963840_o.jpg'); \ No newline at end of file diff --git a/alfresco-docker-imagemagick/src/main/resources/red.png b/alfresco-docker-imagemagick/src/main/resources/red.png new file mode 100644 index 00000000..b4ef5f47 Binary files /dev/null and b/alfresco-docker-imagemagick/src/main/resources/red.png differ