Tag: 图片

如何从图像url获取图像作为图像文件对象?

for(let k = 0; k < propertyDetailResponse.images.length; k++) { let ImgFile = new File(["image"], propertyDetailResponse.images[k].image); this.state.gallery.image_ids.push(ImgFile) } 这是我的代码。 propertyDetailResponse.images[k].image包含图片url。 我需要ImgFile作为图像文件对象,因为我们正在上传图像文件

Node.js:如何从jpg中提取embedded的缩略图,而无需首先加载完整的jpg?

我正在创build一个Raspberry Pi Zero W安全摄像机,并试图使用Node.js集成运动检测。 使用Pi相机模块以8百万像素(3280×2464像素,每张图像大约5MB)拍摄图像。 在Pi Zero上,资源是有限的,因此将整个图像从文件加载到Node.js 可能会限制我可以捕获的速度,然后评估大型照片。 令人惊讶的是,我在一个背景时间stream逝过程中每秒钟捕获大约两个8MB的图像,并希望至less每秒钟大概继续捕捉最大尺寸的图像。 一个可以帮助解决这个问题的资源就是从大图中提取embedded的缩略图(在raspistill应用程序中定制的缩略图大小)。 你有没有想法,我怎么可以从一个大的图像快速提取缩略图,而不需要在Node.js中加载完整的图像? 到目前为止,我在这里find了部分答案。 我猜我会通过一个缓冲区以某种方式pipe理这个?

图像被裁剪时,'Filereader'不会改变'reader'值,为什么?

我使用“FileReader”从input框中的原始图像中检索数据,但当裁切图像时,我无法获得新的读取器值。 所以当我在亚马逊上传时,我仍然有原始图像。 当我裁剪图像时,如何获得新的读者价值? JavaScript代码: require(['cropper']); $('body').on('change', '#image-of-shop', function(e) { e.preventDefault(); var overlay = $('<div class="page-overlay image-crop"></div>'), content = $('<div class="image-wrap"></div>'); content.append('<a href="#" class="close-static" data-event="close-crop"></a>'); var files = e.target.files; var f = files[0]; fileName = f.name; var reader = new FileReader(); reader.onload = function(theFile) { return function(e) { content.append('<img id="cropper" src="' + e.target.result + '" />'); […]

如何在JavaScript中设置JPEG / PNG图像的分辨率/密度?

我需要在javascript中更改JPG / PNGtypes图像的分辨率/密度。 我需要这样做的原因是,我可以将图像发送到第三方API,然后根据分辨率/密度元数据知道每英寸有多less像素(DPI / PPI)要打印。 有没有这样的解决scheme在JavaScript?

使用JS将网页的元素保存为图像

我知道这个问题之前已经被问过了,但是所有的答案都是在几年前,所以也许有些改变。 我发现这个https://github.com/apollolm/phantasm ,这正是我所需要的。 但是我在OSX上,似乎不被支持。 那么,我怎样才能使用javascript来保存一个网页partulcar部分的图像?

在csv / xlsx文件中写入图像的正确方法是什么?

我试图写一个图像,到一个CSV文件。 该脚本写入文件,但图像的内容是混乱的。 长序列 \u0000\u0010JFIF\u0000\u0001\u0001 。 有人可以指出我在编码丢失什么,或者我应该做的东西吗? 要testing: mkdir so-38711430; cd so-38711430; npm init -y; npm i -S lodash json2csv; mkdir so-38711430; cd so-38711430; npm init -y; npm i -S lodash json2csv; 'use strict'; const _ = require('lodash'); const json2csv = require('json2csv'); const fs = require('fs'); let rows = [ { 'id': 1, 'name': '12323', }, […]

节点 – 从图像缓冲区parsingiptc数据

试图find一种方法来从图像文件缓冲区中提取IPTC数据,在npm上有现有的库,允许您打开和从本地文件系统读取文件,但我在AWS S3上存储文件,宁愿使用缓冲区创build不必要的磁盘写入。 不知道从哪里开始,也许开始看看这个模块如何工作: https : //www.npmjs.com/package/extract-iptc并创build我自己的模块? 还是有更简单的方法,我错过了?

尝试使用内容types图像/ jpeg进行响应时发生图像中断

在我的前端html中,我想要一个带有“/ uploads / profilePicture”源码的img标签。 在node / express中处理请求时,我想validation用户,从文件系统加载用户的configuration文件图片,并使用图像数据进行响应。 我的代码基本归结为: app.get('*', function(req, res, next) { /* Some code leading to the function getProfilePicture */ }); function getProfilePicture(req, res, next) { loadFile('uploads/' + req.user.local.picture, function(image) { res.writeHead(200, { 'Content-Type': 'image/jpeg' }); res.end(image); }); }; 代码运行时,前端会显示一张破损的图像,但控制台中不会显示错误信息。 有趣的是,这是以前为我工作。 前一段时间,我的路由代码是非常不通用的,因为它为我网站上的每个页面使用了一个app.get() 。 所以我用app.get('/uploads/profilePicture')而不是app.get('*') 。 这可能是问题吗? 编辑: 我正在使用节点v0.10.35和快车3.0.6。 编辑2: testing与Express 3.19.1,仍然无法正常工作。

在JavaScript / NodeJS和电子的图像DPI?

我正在使用Electron创build一个主要用于Mac OS X的应用程序。用户可以将图像拖放到页面上,页面会创build一个带有丢弃图像源path的<img> ,用户可以看到图像。 问题 如果用户在视网膜显示屏上截图,然后将图像放到页面上,图像将以双倍大小显示。 我需要以某种方式知道显示这个图像的一半的自然尺寸。 可能的scheme 我相信如果检查其DPI,我应该能够可靠地判断图像是否是视网膜。 在Mac上的预览应用程序中,我可以看到图像是144 DPI。 基本上,如果DPI是144或更大,那么它是视网膜,对吗? 有没有一些方法来读取这些数据,给定的图像,使用电子的本地图像或NodeJS? 注意: Mac OS X将屏幕截图作为PNG,因此没有exif数据。 编辑和更新 :我相信我可以通过查看HEX信息来分辨图像的DPI。 即, fs.readFileSync('file.type').toString('hex') ,那么对于PNG来说,如这里提到的那样寻找70 48 59 73 ,或者如这里所提到的,JPG寻找FFD8FFE000104A464946000101 。 我现在遇到的问题是在从剪贴板粘贴图像时试图使用Electron的NativeImage。 如果我从剪贴板中粘贴一个PNG,并执行nativeImage.toPng().toString('hex') ,则输出如下内容: 89504e470d0a1a0a0000000d49484452000001fc000001680806000000b2a54946000005c249444154789cedd5410dc03010c0b0ae448f3f8a0dc554a9b111e4976766de05005c6d9f0e0000fe67f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f8001060f80010f0014a0204ec5f3e63f20000000049454e44ae426082 在这个string中,我可以findDPI信息? 编辑和更新2:我想知道这可能是一个在电子内的错误。 当我从“预览”中复制144 PPI的图像并将其粘贴到我的应用程序中时,将其从我的应用程序中复制出来并粘贴到新的预览窗口中,它将变为72 PPI。 Electron是否可能剥离出这些信息? 大块 由@robertklep请求,这里是大块的截图(对不起,我覆盖在我的应用程序复制,所以我现在不能实际上复制文本)。 初始图像 复制/粘贴后

节点JS)未定义的图片上传问题

var http = require('http'); var express = require('express'); var request = require('request'); var mysql = require('mysql'); var bodyParser = require('body-parser'); var fs = require('fs'); var multer = require('multer'); var app = express(); app.use(bodyParser.json()); app.use(express.bodyParser()); app.use(app.router); app.use(multer( {dest:'./uploads/', onFileUploadStart : function(file){ console.log('File recieved:'); console.log(file); }, onFileUploadData:function (file,data){ console.log('Data recieved'); }, onParseEnd: function(req,next){ next(); } })); app.use(express.static(__dirname+"/public")); […]