我想使用nodejs在控制台上绘制人体照片。为了绘制质量更好的图像,我需要一个允许我在控制台上绘制图像的库或模块。有某些模块,例如imaging和console-png。
但质量不是很好。如何在控制台上使用HTML5画布绘制图像?
答案 0 :(得分:3)
控制台是 text 设备,它们不是为图形设计的。有一些方法可以在控制台中显示奇特的颜色等,但是如果不先将图像文件转换为文本,就无法渲染图像文件或其他任何内容,例如console-png。
答案 1 :(得分:3)
请注意,此答案适用于控制台(不是node.js CMD提示)。由于这个问题的标题会引导一些可能正在使用NW.js或类似的东西,允许node.js控制台输出到V8开发工具控制台。还有一些Github解决方案允许将控制台定向到node.js的V8开发工具。
还可以在同一个DevTools窗口中同时使用Chrome Canary lets you debug your browser JavaScript files and Node.js新的调试工具。
对于Chrome,请使用控制台样式字符串指令"%c"在" console.log"在第一个字符串参数中指定样式。
例如
console.log("%c Blue text","background:blue;");
第二个参数变为`样式。
因此,对此的逻辑扩展是添加背景图像,你知道什么,它有效。
document.body.innerHTML += "For Chrome users hit F12 to open the console. and see it work."
console.log("%c Smile .","font-size:28px;color:red;background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAEaElEQVRYhcVXT0iUWxT/fc7ogIsW0UYdx7I2Iq8ZihauhoSoEEJNEBGkneNCUrCBSpudb1GSIEiL3IguBHUUDcL+ODoMjyAwkJT3XomL2liO4BCVVr8W5/tz5/tmxqnXe+/AWXz3nvs7v+/cc889F8hfCgE0AvgdwGMAWzZ9rM816ra/TCoA9ANIAmCemtTXVPxT5xEV+OxZsLcXnJ0FV1fBrS3R1VUZ6+0VGxuZyM84rgTw0ABpbQWXl0EyP11eljUKiYc6Zl7yG4B3AOjzgfPz+Tu26/y8YOgk3unYOaVU0/AnAJaXg+/f/5jDZ8/AS5fAo0fBQACcmgK3twULAAsK8BeA0lwEEgBYW2uBTkyAwaClgQB4/jx4/Dj44gX4/Dn48aP87eHDzoS8cEFwamvNsUQ259cB0O+3/ry7O3e2nzsH3r4NNjZaYyUlJezo6GB1dbU5dueOYPr9pt11u3OvpmEPAB88EOc1NRZoKBRiLBZjLBZjKBQyxwMBiYDx3draSlXa29sJgB4PuLkp2ACo+/KqBO4DYHOzOF9chL7Qw3g8TrvE43F6PB4CYFeX2NbV1TnsSLKlpYUAGIkIdnOzSfi+SmAbAOfmxMgADYfDGUFJMhwOEwDLysR2dHQ0o93Y2BgBsKlJsOfmzCgkDecXjXAaiXfsmBglEgmS5OTkJIuLi9nW1mYCJxIJAqDbLbYbGxsZCaysrBAAq6os/EDAjMJFALinhigTAb/fb+5zMpnMSmB4eJhut5ter5fT09MkyVQqZa79/FnwIxGTwD0AeAKACwsWAfsWNDQ00OVysaioiKlUKm0LDh2yCHR2drKgoIAAWF9fnzUCCwsmgScAsA6AL19aBvYk3N/f58TEBBcXFx1JePKklQMzMzPUNI2apnFpaSljDpDiSyewDgC7ALizk17VjNDmOoY1NRqHh9NPwdDQEAcHB7OeAlJ86Ri7WQmMjkpZzVaEurvFbnvbGotGo2kJODU1ZWQ8NzezE3BsAQl++AB++SL7pZbiYFDKs2p79apFoqenh2traxwYGKDL5SIAnjiRbm/fAkcSknK/nz4Nvn6d30WkkrBrZ2e6rT0JHceQBEdGxMjnA79+TZ/79g0cHATHx8FHj6ztu3FDtq2yEjx1CjxyBOzvl8tKXW8/ho5CZGgwKIY3bzoJXL4siVpYCIbDzrW7u+DeHvjpk3POXoigl0WzFBv69KkVxpERJ9Dbt+CtW+D6evr4mzcSlfFxMB5Pn8tUigHbZaSqUZQAsK/v4Fzo67Psu7qc89kuI8d1rGpTkwXq84HXrkmSvnolOjsrY0r7xbt3nTi5rmMgQ0Oi6pkzcp6zZbqhVVVgNOpcf1BDYoijJVO1rk5IaJokH5TLqKwsd+dstGQuF/7I5hwASvXGkeXlUuUykSguFnW7RTMlqPrnRlPqcuFvHNCUAnm05f390gdeuZJeYu36M225If/rw0SViALynz7NVKnADz5ONQ07+EWPU1X+lef5dx3fisFC3wKhAAAAAElFTkSuQmCC');");

你有一张照片。由于node.js是V8,那么这应该是你所追求的解决方案,带有一些额外的样式,使其像背景一样更像图像。
所以要从画布上做,只需使用canvas.toDataURL
来获取背景网址
根据这个4year old answer它也适用于Firefox ..但不适合我,我相信有人可以让Edge运行而不会让GPU过热并关闭他们的机器会告诉你它是否适用于Edge 。 |:P