Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var im = require('imagemagick');
- var exec = require('child_process');
- module.exports.ImageConver = (ImgOpen,ImgSave,hablone,f) => {
- var maskShab = "trash/"+parseInt((Math.random()*10000000))+".png";
- trueImage(ImgOpen,(result) => {
- if(result){
- scaleImage(ImgOpen,(P) => {
- resizeMask(hablone,maskShab,P,() => {
- imageCorp(ImgOpen,ImgSave,P,() => {
- execImage(ImgSave,ImgSave,maskShab,() => {
- f(true);
- });
- });
- });
- });
- }else{
- f(false);
- }
- });
- }
- function trueImage(ImgOpen,f){
- im.identify(ImgOpen, (err, features) => {
- if(err){
- f(false);
- }else{
- f(true);
- }
- });
- }
- function scaleImage(ImgOpen,f){
- im.identify(ImgOpen, (err, features) => {
- if(err){
- console.log("scale: error");
- }else{
- var w = features.width;
- var h = features.height;
- var P = w;
- if(w>h) P = w;
- if(w<h) P = h;
- if(w==h) P = w;
- f(P);
- }
- });
- }
- function resizeMask(hablone,habloneConvert,P,f){
- im.resize({srcPath: hablone,dstPath: habloneConvert,width: parseInt(P)},(err, stdout, stderr) => {
- if(err){
- console.log("resize: error");
- }else{
- f();
- }
- });
- }
- function imageCorp(ImgOpen,ImgSave,P,f){
- im.crop({srcPath: ImgOpen,dstPath: ImgSave,width: parseInt(P),height: parseInt(P),quality: 1,gravity: "center"},(err, stdout, stderr) => {
- if(err){
- console.log("crop: error");
- }else{
- f();
- }
- });
- }
- function execImage(ImgSave,ImgSave,hablone,f){
- var command = ['composite','-gravity', 'center', '-quality', 100,hablone,ImgSave,ImgSave];
- exec.exec(command.join(' '), (err, stdout, stderr) => {
- if(err){
- console.log("exec: error");
- }else{
- f();
- }
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement