【问题标题】:ReferenceError: Image is not defined while using WatermarkjsReferenceError:使用 Watermarkjs 时未定义图像
【发布时间】:2019-01-08 07:09:33
【问题描述】:

我已经给出了文件所在的特定路径,但在使用 watermarkjs 时出错

watermark(['../uploads/file_1546929350511_Name.PNG']).image(text.center('watermrk.js', '48px Josefin Slab', '#fff', 0.5)).then(function (img) { document.getElementById('center').appendChild(img); });

错误是

C:\Users\Admin\Desktop\Nss testing\test\node_modules\watermarkjs\dist\watermark.js:351
      var img = new Image();
                ^ReferenceError: Image is not defined
at loadUrl (C:\Users\Admin\Desktop\Nss testing\test\node_modules\watermarkjs\dist\watermark.js:351:14)
at load (C:\Users\Admin\Desktop\Nss testing\test\node_modules\watermarkjs\dist\watermark.js:337:20)
at watermark (C:\Users\Admin\Desktop\Nss testing\test\node_modules\watermarkjs\dist\watermark.js:164:42)
at C:\Users\Admin\Desktop\Nss testing\test\controller\updateController.js:60:7
at Array.<anonymous> (C:\Users\Admin\Desktop\Nss testing\test\node_modules\multer\lib\make-middleware.js:53:37)
at listener (C:\Users\Admin\Desktop\Nss testing\test\node_modules\on-finished\index.js:169:15)
at onFinish (C:\Users\Admin\Desktop\Nss testing\test\node_modules\on-finished\index.js:100:5)
at callback (C:\Users\Admin\Desktop\Nss testing\test\node_modules\ee-first\index.js:55:10)
at IncomingMessage.onevent (C:\Users\Admin\Desktop\Nss testing\test\node_modules\ee-first\index.js:93:5)
at emitNone (events.js:106:13)
at IncomingMessage.emit (events.js:208:7)
at endReadableNT (_stream_readable.js:1064:12)
at _combinedTickCallback (internal/process/next_tick.js:138:11)
at process._tickCallback (internal/process/next_tick.js:180:9)

【问题讨论】:

  • 只是猜测,但var img = new Image(); 应该有一个参数,即您要读取或创建的图像文件。如果 watermark.js 依赖于 Imagemagick,那么你安装了 Imagemagick 了吗?
  • 对不起,它不工作,知道它应该在浏览器端使用&谢谢:)

标签: javascript node.js express watermark


【解决方案1】:

看起来应该在浏览器中使用 WatermarkJS 模块。

从您的问题主题(express、node.js)看来,您正试图在服务器端使用它。

Image 是窗口对象上的一个全局对象,它创建一个新图像以在 DOM 中使用或预加载图像资源。这就是错误显示ReferenceError: Image is not defined 的原因。

我建议你查看可以在服务器端使用的ImageMagick 模块。

【讨论】:

  • 感谢指导,知道应该在浏览器端使用,有没有办法在服务器端给图片添加水印
  • 谢谢,我使用了 gm (graphicsmagick),一切正常
猜你喜欢
  • 2012-08-24
  • 1970-01-01
  • 2017-10-11
  • 2018-03-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-29
  • 2017-02-04
相关资源
最近更新 更多