我在 NODEjs 中有一个缓冲区形式的图像,我想调整它的大小。
理论上这应该能够在nodeJS中完成,因为我可以访问包含所有像素数据的缓冲区。
我已经在很多地方找到了一种使用 NATIVE(仅限!)nodejs 调整图像大小的简单方法,没有外部库,但我只找到了使用库的解决方案:https: //www.npmjs.com/package/gm
Node.js:无需 ImageMagick 即可调整图像大小 在 Node.js 中调整图像大小的简单方法?
使用 Nodejs 和 Imagemagick 调整图像大小
Node.js:不使用 ImageMagick 调整图像大小
使用 jimp 在 Node.js 中调整图像大小并获取新图像的路径
但所有这些解决方案都使用某种库,但我只想使用普通的 NodeJS。
我可以用缓冲区读取像素,所以我应该能够编写一个调整大小的缓冲区,就像这个 C++ 线程http://www.cplusplus.com/forum/general/2615/和许多其他线程一样,只需循环像素并调整它的大小..
我发现这个问题Resizing an image in an HTML5 canvas,它使用纯客户端JavaScript实现了图像调整大小,而不依赖于画布drawImage来调整它的大小(仅获取图像数据),这是他使用的代码:
function lanczosCreate(lobes) {
return …Run Code Online (Sandbox Code Playgroud) 我有一个数据库,可以在MySQL BLOB字段中存储图像.我设置了一个脚本,根据URL中的ID选择并显示图像,如果你追加?resize = 800x600,我也会这样做,它会调整图像大小(在这种情况下,为800x600).
我使用的主机没有安装Imagemagick,也不会让我自己做,所以我需要使用PHP的GD库来调整图像大小.
但我还没有找到像Imagick readImageBlob()这样的函数,因此我无法编辑从数据库中获取的二进制字符串,而无需先创建临时文件,编辑它,从中获取二进制字符串,将其发送到浏览器,然后删除它(这是非常多的步骤,特别是因为这将在它投入生产时获得几千次点击).
所以我的问题是,有没有办法readImageBlob用PHP的GD 复制而不通过临时文件解决方案?