问题标签 [sharp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1876 浏览

javascript - 使用 Express 提供动态生成的图像或保存的图像

我构建了一个图像交付应用程序,它可以提供图像并按需调整大小/更改图像扩展名。

我使用 Express 进行路由,使用 Sharp 处理图像。

当请求具有新大小/扩展名的图像时,我想将生成的图像保存在文件系统上,并在下次使用相同参数(某种缓存)请求相同图像时检索保存的图像。

我构建的一切工作正常,但在生产中 CPU 使用率很高。我怀疑这是因为我在将图像res.sendFile()保存到文件系统后返回了图像。

目前这是我的工作流程:

  • 如果图像已使用所需参数(fs.access())保存,我会检查文件系统
  • 如果存在,我res.sendFile本地图像路径
  • 如果它不存在,我使用 Sharp 生成它,我将它保存在文件系统中,然后我res.sendFile生成的图像路径

我阅读res.sendFile不使用系统 sendfile 调用,并且 CPU 很重。

我该如何更换它?

这是我在谷歌搜索时发现的:

  • 当我生成新图像时,我可以res.send()使用 Sharp 生成的缓冲区而不是res.sendFile保存的图像
  • 当图像已经保存时,也许我应该使用静态快速中间件(http://expressjs.com/en/starter/static-files.html)但我不知道如何动态调用它并告诉它图片路径(基于请求 URL 中提供的参数)。
0 投票
1 回答
2743 浏览

npm - 在 macOS 上使用 npm 安装Sharp时出错

如果我创建一个新的 npm 项目:

然后尝试安装sharp

我收到以下错误消息:

我找到了删除的说明~/.node-gyp,试过了,没有用。删除node_modules再试也行不通。运行sudo也无济于事。

关于如何追踪问题所在的任何想法?

0 投票
1 回答
826 浏览

javascript - 开玩笑 - 我如何模拟这个模块..?

我试图嘲笑尖锐,我有这个:

当我import sharp from 'sharp'console.log(sharp)我得到:

function Sharp() {return mockConstructor.apply(this,arguments);}

似乎是的,它找到了我的模拟模块,而不是真正的模块。

sharp这样使用:

但是,当我sharp()使用我的模拟模块从测试代码调用时,它的值是undefined,而不是instanceof sharp.

我试过用替换const Sharp = jest.genMockFromModule('sharp')function Sharp (input, options) { return this }但这没有区别。

我究竟做错了什么..?

0 投票
1 回答
1692 浏览

node.js - 用于 VS Node.js 中 AWS Lambda 函数的 Sharp 图像库

我正在 Visual Studio 中处理需要快速调整图像大小的 AWS Lambda 函数。最初,我使用 ImageMagick 来调整这些图像的大小,但整个过程处理时间太长。ImageMagick 的替代品似乎是另一个图像库 Sharp。据说夏普将使用原生 AWS Lambda 代码来更快地调整图像大小。根据这篇文章,需要在 EC2 实例中构建 Sharp 才能执行此操作(https://github.com/awslabs/serverless-image-resizing)。

我还不能让它工作。这里有没有人让这个工作呢?如果是这样,是否有为 Sharp 内置在 EC2 中的预构建库,还是我应该自己构建它?

我确实在 npm 中找到了一个 Sharp 库,但我无法让它工作。npm 中的 Sharp 库是否与 AWS Lambda 函数兼容?如果是这样,它是否通过使用本机处理提高了速度?

0 投票
1 回答
875 浏览

node.js - lovell sharp 是否支持颜色调制(色调、饱和度、亮度)?

我有一个应用程序,我需要通过改变色调、饱和度和亮度的值来改变图像的颜色。

以下是示例图像:

在此处输入图像描述

当我将 HSL 值分别传递为 90、100、50 时。

它应该返回图像如下

在此处输入图像描述

知道如何在节点尖锐中实现这一点吗?

提前致谢。

0 投票
1 回答
3453 浏览

node.js - 如何从 node.js 锐利模块缓冲区访问图像

我是 node.js 和 Web 开发的新手,对 node.js 锐利模块有疑问。我想使用 node.js sharp 模块调整图像大小/裁剪图像,将其存储到缓冲区并在之后访问它。在阅读了Sharp API之后,我想出了这个代码示例。

我认为变量 img 现在包含我的新图像。我的第一个问题是我的假设是否正确。如果这是正确的,我如何在我的网站上显示新图像?如果可能,我想使用 HTML img 标签。但如果有更好更简单的方法,请随时告诉我。我不想将图像存储到本地文件。

谢谢你的帮助!

0 投票
1 回答
468 浏览

node.js - 尝试在 openshift v3 上安装 sharp 或 node-gyp 时构建总是失败

构建总是失败并显示此日志:

尝试使用 nodejs v6 从 openshift v3 上的 repo (bitbucket) 构建。使用 nodejs v6.9.2、npm v4.2.0、sharp v0.18.4 在 localhost 上运行良好

0 投票
2 回答
1285 浏览

node.js - 使用 node.js 和 Sharp 包将非裁剪调整为 png

我正在尝试使用 Nodejs 锐化包调整图像/转换为 png 的大小而不进行裁剪。根据文档,它是 .max() 方法,遗憾的是在调整为 png 大小时不起作用(图像被裁剪)。任何解决方法?

0 投票
3 回答
10289 浏览

node.js - nodejs Sharp:透明成白色

我正在使用 Nodejs Sharp 将 png 图像转码/调整大小为 jpg。有没有办法用白色(或其他浅色)而不是黑色代替透明?我找到了旧图书馆的解决方案,但夏普似乎是最快和最好的。

.background 不起作用

0 投票
1 回答
2476 浏览

npm - 无法安装锐器

sharp@0.18.4 安装 C:\Users\hp\AppData\Roaming\npm\node_modules\sharp

node-gyp rebuild