Advertisement
Guest User

Untitled

a guest
Aug 21st, 2017
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var im = require('imagemagick');
  2. var exec = require('child_process');
  3.  
  4.  
  5.  
  6. module.exports.ImageConver = (ImgOpen,ImgSave,hablone,f) => {
  7.  var maskShab = "trash/"+parseInt((Math.random()*10000000))+".png";
  8.  
  9.    
  10.  trueImage(ImgOpen,(result) => {
  11.   if(result){
  12.    scaleImage(ImgOpen,(P) => {  
  13.     resizeMask(hablone,maskShab,P,() => {
  14.      imageCorp(ImgOpen,ImgSave,P,() => {
  15.       execImage(ImgSave,ImgSave,maskShab,() => {
  16.        f(true);
  17.       });      
  18.      });    
  19.     });
  20.    });
  21.   }else{
  22.    f(false);  
  23.   }
  24.  });
  25. }
  26.  
  27.  
  28.  
  29.  
  30. function trueImage(ImgOpen,f){
  31.  im.identify(ImgOpen, (err, features) => {
  32.   if(err){
  33.    f(false);
  34.   }else{
  35.    f(true);
  36.   }
  37.  });
  38. }
  39.  
  40.  
  41.  
  42. function scaleImage(ImgOpen,f){
  43.  im.identify(ImgOpen, (err, features) => {
  44.   if(err){
  45.    console.log("scale: error");  
  46.   }else{
  47.    var w = features.width;
  48.    var h = features.height;
  49.    var P = w;
  50.    if(w>h) P = w;
  51.    if(w<h) P = h;
  52.    if(w==h) P = w;
  53.    f(P);
  54.   }
  55.  });
  56. }
  57.  
  58. function resizeMask(hablone,habloneConvert,P,f){
  59.  im.resize({srcPath: hablone,dstPath: habloneConvert,width: parseInt(P)},(err, stdout, stderr) => {
  60.   if(err){
  61.      console.log("resize: error");
  62.   }else{
  63.     f();
  64.   }
  65.  });  
  66. }
  67.  
  68. function imageCorp(ImgOpen,ImgSave,P,f){
  69.  im.crop({srcPath: ImgOpen,dstPath: ImgSave,width: parseInt(P),height: parseInt(P),quality: 1,gravity: "center"},(err, stdout, stderr)  => {
  70.   if(err){
  71.   console.log("crop: error");
  72.   }else{
  73.    f();
  74.   }
  75.  });
  76. }
  77.  
  78. function execImage(ImgSave,ImgSave,hablone,f){
  79.  var command = ['composite','-gravity', 'center', '-quality', 100,hablone,ImgSave,ImgSave];
  80.  exec.exec(command.join(' '), (err, stdout, stderr) => {
  81.   if(err){  
  82.    console.log("exec: error");
  83.   }else{
  84.    f();
  85.   }
  86.  });  
  87. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement