Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
it('should create a proper colored preview from non-sRGB original', async () => {
const newAttachment = await createAndCheckAttachment(files.colorprofiled, post, user)
// original colors
{
const original = promisifyAll(gm(newAttachment.getPath()))
const buffer = await original.resize(1, 1).toBufferAsync('RGB')
buffer.length.should.be.equal(3)
buffer[0].should.be.within(191, 193)
buffer[1].should.be.within(253, 255)
buffer[2].should.be.within(127, 129)
}
// thumbnail colors
{
const thumbnailFile = newAttachment.getResizedImagePath('t')
thumbnailFile.should.be.a.file().and.not.empty
const thumbnail = promisifyAll(gm(thumbnailFile))
const buffer = await thumbnail.resize(1, 1).toBufferAsync('RGB')
compareNext()
return
}
const newPath = `screenshots/${commitRange[1]}/${filename}`
if (!fs.existsSync(newPath)) {
results[diffPath] = DIFF_REMOVED
compareNext()
return
}
const compareOptions = {
tolerance: 1e-6, // leave a little wiggle room for antialiasing inconsistencies
file: diffPath,
}
gm.compare(oldPath, newPath, compareOptions, (err, isEqual) => {
if (err) {
console.log(err)
process.exit(1)
}
results[diffPath] = isEqual ? DIFF_SAME : DIFF_CHANGED
compareNext()
})
}
compareNext()
function analyzeImage(doc, fileName, analyzeCallback) {
console.log("Starting Analyze Image Method");
var
request = require('request'),
async = require('async'),
fs = require('fs'),
gm = require('gm').subClass({
imageMagick: true
}),
analysis = {};
async.parallel([
function (callback) {
// Write down meta data about the image
gm(fileName).size(function (err, size) {
if (err) {
console.log("Image size", err);
} else {
analysis.size = size;
}
callback(null);
});
},
let express = require('express'),
fs = require('fs'),
fse = require('fs-extra'),
mkdirP = require('mkdirp'),
multer = require('multer'),
crypto = require('crypto'),
mime = require('mime'),
path = require('path'),
config = require('../config/config'),
User = require('../models/user.model'),
Form = require('../models/form.model'),
gm = require('gm').subClass({imageMagick: true});
process.on('uncaughtException', (err) => {
console.log(err);
});
// this function deletes the image
let rmDir = (dirPath, removeSelf) => {
if (removeSelf === undefined)
removeSelf = true;
try {
var files = fs.readdirSync(dirPath);
}
catch (e) {
return;
}
if (files.length > 0)
.size(function (err, size) {
if (!err && size.width * size.height > width * height) {
gm(`../../components/Work/Repo/img/${image}`)
.resize(width, height)
.noProfile()
.write(`../../components/Work/Repo/img/${image}`, function (err) {
if (!err)
// console.log('done')
accept()
})
}
})
})
if (errorNewPath) {
throw errorNewPath;
}
if (require('fs').existsSync(outputPath + filename)) { // file exists
if (constant.config.debug && constant.config.debug === true) {
console.log("createThumb: file exists:" + outputPath + filename + ";");
}
afterThumbCreated();
return;
}
if (constant.config.debug && constant.config.debug === true) {
console.log("ifImage resize image: filename="+filename+";");
}
require('gm')(sourcePath + filename)
.resize(dimension.width, dimension.height + ">")
.gravity('Center')
.extent(dimension.width, dimension.height)
.write(outputPath + filename, afterThumbCreated);
});
}
import fs from 'fs'
import path from 'path'
import gm from 'gm'
import spawn from 'cross-spawn'
import mkdirp from 'mkdirp'
import tmp from 'tmp'
const gmMagick = gm.subClass({ imageMagick: true })
function transparent(filename, options) {
if (!options.width || !options.height) {
throw new Error('Wrong options provided to transparent()')
}
const gmImage = gmMagick(filename)
gmImage.background('transparent') // Fill in new space with white background
gmImage.gravity('NorthWest') // Anchor image to upper-left
gmImage.extent(options.width, options.height) // Specify new image size
return gmImage
}
function getImageSize(filename) {
return new Promise((accept, reject) => {
// image operation.
var
fs = require('fs'),
gm = require('gm').subClass({ imageMagick : true });
function calcScaleSize(origin_width, origin_height, resize_width, resize_height, keepAspect) {
function isEnlarge(tw, th) {
return origin_width < tw && origin_height < th;
}
if (resize_width <= 0 && resize_height <= 0) {
throw {"name": "Parameter error!"};
}
if (keepAspect === undefined) {
keepAspect = true;
}
if (origin_width === resize_width && origin_height === resize_height) {
return { width: origin_width, height: origin_height, resized: false, enlarge: false };
}
var
const farmhash = require("farmhash");
const imageinfo = require("imageinfo");
let gm = require("gm");
const async = require("async");
const models = require("../lib/models");
const urls = require("../lib/urls");
const db = require("../lib/db");
const similar = require("../lib/similar");
const config = require("../lib/config");
// Add the ability to provide an explicit bath to the GM binary
/* istanbul ignore if */
if (config.GM_PATH) {
gm = gm.subClass({appPath: config.GM_PATH});
}
const Image = new db.schema({
// An ID for the image in the form: SOURCE/IMAGENAME
_id: String,
// The date that this item was created
created: {
type: Date,
default: Date.now,
},
// The date that this item was updated
modified: {
type: Date,
},
'use strict';
const gm = require('gm').subClass({imageMagick: true});
const _ = require('lodash');
const fs = require('fs');
const os = require('os');
const mkdirp = require('mkdirp');
const child_process = require('child_process');
const async = require('async');
let OUT_DIR = os.tmpDir() + '/app-icon/output';
const androidIconSize = {
// 'web': { w: 512, h: 512 },
'ldpi': { w: 36, h: 36 },
'mdpi': { w: 48, h: 48 },
'hdpi': { w: 72, h: 72 },
'xhdpi': { w: 96, h: 96 },