Turn audio into a shareable video. forked from nypublicradio/audiogram

initialize-canvas.js 768B

123456789101112131415161718192021222324252627282930313233343536
  1. var fs = require("fs"),
  2. path = require("path"),
  3. Canvas = require("canvas"),
  4. getRenderer = require("../renderer/");
  5. const { Image } = require("canvas");
  6. function initializeCanvas(theme, cb) {
  7. // Fonts pre-registered in bin/worker
  8. var renderer = getRenderer(theme);
  9. if (!theme.backgroundImage) {
  10. return cb(null, renderer);
  11. }
  12. // Load background image from file (done separately so renderer code can work in browser too)
  13. fs.readFile(path.join(__dirname, "..", "settings", "backgrounds", theme.backgroundImage), function(err, raw){
  14. if (err) {
  15. return cb(err);
  16. }
  17. const bg = new Image();
  18. bg.src = raw;
  19. renderer.backgroundImage(bg);
  20. return cb(null, renderer);
  21. });
  22. }
  23. module.exports = initializeCanvas;