/
text_on_image.js
95 lines (90 loc) · 2.68 KB
/
text_on_image.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
// Set up imageMagick
var Promise = require("bluebird");
var fs = require('fs');
var gm = require('gm').subClass({
imageMagick: true
});
function text_on_image(original_picture, text, userid) {
var resize_promise = new Promise(function(resolve, reject) {
gm(original_picture)
.resize(200, 200)
.write('kittens2.jpg', function(err) {
if (!err) {
resolve("Resize Stuff worked!");
console.log('Resize Done');
}
if (err) {
reject(Error("Resize didn't happen"));
console.log('Resize failed');
}
});
});
var add_white_promise = resize_promise.then(function(resolve, reject) {
return new Promise(function(resolve, reject) {
var width_white = 50;
var height_white = 200;
gm(width_white, height_white, "white")
.append('kittens2.jpg').append(true)
.write('kittens3.jpg', function(err) {
if (!err) {
resolve("Add White Stuff Worked!");
console.log('WORKED: Centered our image.\n');
}
if (err) {
reject(Error("Add white didn't happen"));
console.log('ERROR: Did not center image.\n');
}
});
})
});
var draw_caption_promise = add_white_promise.then(function(resolve, reject) {
return new Promise(function(resolve, reject) {
var width = 300;
var height = 100;
gm(width, height, "white")
.fontSize(18)
.font('Helvetica Neue')
.drawText(20, 20, text)
.write("writingsomething.jpg", function(err) {
if (!err) {
resolve("Draw caption worked!");
console.log('WORKED: Writing our caption.\n');
}
if (err) {
reject(Error("Add white didn't happen"));
console.log('ERROR: Caption didnt write.\n');
}
});
})
});
var append_caption_image = draw_caption_promise.then(function(resolve, reject) {
return new Promise(function(resolve, reject) {
gm('writingsomething.jpg')
.append('kittens3.jpg')
.write('static/images/' + userid + '-output.png', function(err) {
if (!err) {
resolve("Append caption worked!");
console.log('WORKED: Appending Worked.');
}
if (err) {
reject(Error("append caption didnt work lmao"));
console.log('ERROR: Appending not working sry.');
}
});
})
});
return append_caption_image.then(function(resolve, reject) {
return resize_promise.value() + add_white_promise.value() + draw_caption_promise.value() + append_caption_image.value();
});
}
module.exports = text_on_image;
// main('therock.jpg', "this is rly dumb");
//
// resize_picture(original_picture);
// add_white('kittens2.jpg');
// draw_caption(text);
// append_caption_image('kittens3.jpg', 'writingsomething.jpg');
// }
//
// main('therock.jpg', "this is rly dumb");
// // main('therock.jpg', "this is rly dumb");