skins.js 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. var lwip = require('lwip');
  2. var exp = {};
  3. // extracts the face from an image +buffer+
  4. // save it to a file called +outname+
  5. // callback has an error parameter which can be null
  6. exp.extract_face = function(buffer, outname, callback) {
  7. lwip.open(buffer, "png", function(err, image) {
  8. if (err) {
  9. callback(err);
  10. } else {
  11. image.batch()
  12. .crop(8, 8, 15, 15)
  13. .writeFile(outname, function(err) {
  14. if (err) {
  15. callback(err);
  16. } else {
  17. callback(null);
  18. }
  19. });
  20. }
  21. });
  22. };
  23. // resizes the image file +inname+ to +size+ by +size+ pixels
  24. // +callback+ is a buffer of the resized image
  25. exp.resize_img = function(inname, size, callback) {
  26. lwip.open(inname, function(err, image) {
  27. if (err) {
  28. callback(err, null);
  29. } else {
  30. image.batch()
  31. .resize(size, size, "nearest-neighbor") // nearest-neighbor doesn't blur
  32. .toBuffer('png', function(err, buffer) {
  33. callback(null, buffer);
  34. });
  35. }
  36. });
  37. };
  38. module.exports = exp;