Articles of image

在Mongodb中存储图像为Nodejs提供服务

我知道Mongodb可以用两种方式存储图像。 在一个常规的文件中,将图像存储为二进制文件 通过Gridfs来pipe理更大的图像。 为了简单起见,因为我打算服务器的图像很小,我会select1。 为了将图像提供给浏览器,我使用了nodejs。 我的问题是这将是多么困难? 如何将二进制数据转换为浏览器可以理解的实际图像? 涉及什么types的编码? 你能指点我在网上其他地方的教程/例子吗? 顺便说一句,我知道这可能不是一个好主意,因为性能的原因,我计划caching一次服务的图像。 我只是想避免文件系统。

如何使用NodeJS和Express呈现上传的照片?

我通常会发表自己最擅长的例子,但是在这种情况下,我不知道从哪里开始(还没有用其他语言上传照片)。 那么怎么去渲染上传的照片。 我正在使用Node v0.4.2,Express 1.0.8和Mongoose 1.0.16,并且上传了可以正常工作的图片(最终以〜/ tmp结尾)。 谢谢。

node-imagemagick如何与node-gm进行比较?

我想调整照片大小,裁剪照片等。就是这样。 但是我需要能够处理PNG和透明的PNG。 我应该使用哪一个?

Node.js使用二进制文件将http.ClientRequestpipe道传输到fs.createWriteStream会导致损坏的/臃肿的文件

我正在处理一个Node.js(v0.4.12)模块,我有一个奇怪的问题。 这是一个CouchDB模块,虽然我非常确定CouchDB在这里不是问题,但我会把它包含进来,因为它可能是有用的信息。 无论如何,我正在编写一个包装器,用于上传和下载附件与CouchDB。 我有上传部分工作得很好,这是我有困难的下载部分。 我的testing过程是这样的: 上传图片文件( http.request , fs.createReadStream ) 下载文件( http.request ) 将下载的文件保存到不同的位置进行比较/损坏检查( fs.createWriteStream , stream.pipe ) 这对于纯文本文件工作正常,但像图像的二进制文件行为不同。 正如我之前提到的,上传显示正常。 我可以访问CouchDB中的URL并查看图像。 (大小匹配,它呈现我上传的图像)当我使用我的模块下载文件并保存它,输出文件大于源文件,(50-100%大),它不能打开任何图像编辑。 (因此,它以某种方式被“损坏”) 当涉及到二进制文件时,我是否错过了Streams? 我已经尝试将encoding双方都改为"binary"和"base64" ,但输出文件仍然比源文件大50%。 在我发现编码选项之前,它被设置为"utf8" ,并且输出文件大了100%,这使我认为这是一个编码问题。 我也尝试手动pipe道stream(而不是使用pipe方法本身),但结果是相同的。

在NodeJS中从base64string创build图像

我试图上传一个图像,我从我的canvas提取和张贴通过AJAX,我无法在我的服务器端创build图像文件。 我有这样的回答: https : //stackoverflow.com/a/7347358/1358670但仍然我似乎错过了这里或那里的东西。 这是我的JavaScript(浏览器)代码: var img = myCanvas.toDataURL("image/jpeg"); // ajax request to send the image 在服务器端,我做了以下几点: var fd = fs.openSync('./img.jpeg', 'w'); req.body.image = req.body.image.replace(/^data:image\/\w+;base64,/, ""); console.log( req.body.image ); var buff = new Buffer(req.body.image, 'base64'); fs.write(fd, buff, 0, buff.length, 0, function(err,written){ console.log( ">> "+ err ); fs.closeSync( fd ); }); 正如你所看到的,我已经logging了图像,看它是否正确发送,而且是,但仍然无法打开创build的img.jpeg文件 任何帮助或暗示是非常受欢迎的。 编辑 我也试过这里的解决scheme: […]

使用Jade和NodeJS插入图像

我怎样才能使用一个对象,我已经通过玉在一个图像,我也使用mongodb来保存数据。 目前这是我的代码: db.collection('blogposts', function(err, collection) { if (err) throw err; collection.find().toArray(function(err, docs) { if (err) throw err; res.render('table', { title: 'Blog Posts', tab: "list" , blogposts: docs }); }); }); 所以我有nodejs通过一个mongodb集合通过玉,然后在Jade我有: div.span9 table.table.table-bordered.table-striped.noborder each row in blogposts tr td div.blogtitle #{row.Title} br div.blogheading #{row.Heading} br div.namedate #{row.Namedate} br div.imagetable img(src='') br div.blogposts #{row.Posts} br div.blogtags […]

NodeJSimage processing/分析可能吗?

我在服务器端运行NodeJS ,我正在尝试做一些自动化的image processing来确定图像的“基本颜色”。 以下是我想要做的步骤: 拍摄一个图像(在远程服务器上,通过URL传递)并获取其尺寸 使用尺寸来计算图像的中心 围绕中心点绘制一个10px x 50px(WxL)的矩形 获取每个像素的RGB值(每个图像500个) 输出像素的平均值 我知道这样的事情可能在PHP中,但我想使用节点是可能的。 我已经看过关于使用Node-imagick进行基本处理(如resize和裁剪)的教程,但不知道从哪里开始进行更高级的分析。 问题 (一)这是可能的节点? (b)哪些图书馆允许我这样做?

合并2个图像与node.js?

我想要使​​用node.js合并2个图像。 或者说,我想在较大的图像上放置一个更小的图像在坐标x,y上。 更确切地说:我有一副眼镜的形象,一张脸的形象,我想把眼镜放在脸上。 我做了一些Googlesearch,并发现了一些图像操作库,但似乎没有能够合并图像。

调整base64图像的大小

我有多个图像 – 保存为Base64string,现在我想调整这些图像的大小,以获得他们的缩略图… 最好使用JavaScript(Node-Server)来调整它们的大小,但是也可以使用php来调整它们的大小。 提前致谢

nodejs – 如何将文件中的图像数据添加到canvas

下面的代码应该读取一个图像文件,然后在Canvas模块的帮助下将文件数据添加到canvas中。 当我运行此代码时收到错误消息图像未定义 。 是我想从我简单导入的模块初始化的图像对象? var http = require('http'), fs = require('fs'), Canvas = require('canvas'); http.createServer(function (req, res) { fs.readFile(__dirname + '/image.jpg', function(err, data) { if (err) throw err; img = new Image(); img.src = data; ctx.drawImage(img, 0, 0, img.width / 4, img.height / 4); res.write('<html><body>'); res.write('<img src="' + canvas.toDataURL() + '" />'); res.write('</body></html>'); res.end(); }); […]