UNPKG

2.25 kBHTMLView Raw
1<!DOCTYPE html>
2<html>
3 <head>
4 <title>Jimp browser example 4</title>
5 </head>
6 <body>
7
8 <h1> Demonstrates how to write a text over an image </h1>
9 <script src="../lib/jimp.js"></script>
10 <img id="pic" style="float: left; margin: 0px 20px 5px 0px;">
11 <script>
12 function writePic() {
13 Jimp.read("lenna.png")
14 .then(function (lenna) {
15 var fntName = "FONT_SANS_"+fntSize.value+"_"+txtColor.value;
16 var x = parseInt(txtX.value);
17 var y = parseInt(txtY.value);
18 var w = parseInt(txtW.value);
19 console.log()
20 Jimp.loadFont(Jimp[fntName]).then(function (font) {
21 lenna.print(font, x, y, txtField.value, w)
22 .getBase64(Jimp.AUTO, function (err, src) {
23 if (err) {
24 alert(err.message);
25 throw err;
26 }
27 pic.setAttribute("src", src);
28 });
29 }).catch(function (err) { throw err });
30 })
31 .catch(function (err) {
32 alert("Image load fail.\n"+err.message)
33 throw err;
34 });
35 return false;
36 }
37 writePic();
38 </script>
39 <textarea rows="4" cols="80" id="txtField">Hi! I'm Lenna.</textarea>
40 <br> <label>Size: <select id="fntSize">
41 <option>8</option>
42 <option>16</option>
43 <option>32</option>
44 <option>64</option>
45 <option>128</option>
46 </select></label>
47 <br> <label>Color: <select id="txtColor">
48 <option>BLACK</option>
49 <option>WHITE</option>
50 </select></label>
51 <br> <label>pos X: <input id="txtX" value="0" size="3">px</label>
52 <br> <label>pos Y: <input id="txtY" value="0" size="3">px</label>
53 <br> <label>max Width: <input id="txtW" value="400" size="3">px</label>
54 <br> <input type="button" id="btWrite" onclick="writePic(); return false" value="Write">
55
56 </body>
57</html>