问题标签 [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 回答
3970 浏览

node.js - 使用 Sharp 压缩图像大小而不改变图像的纵横比

我有一个 aws 图像文件,我正在使用 sharp 压缩图像,但压缩后,文件大小大大增加。在我的情况下,我的图像大小为 6.5MB ,压缩后它变成了 19.5MB。

以下是我的代码:

我什至尝试过使用.max()

同样的问题,文件大小越来越大。在我的情况下,应该保持图像纵横比。任何建议,将不胜感激。谢谢

0 投票
0 回答
968 浏览

node.js - 具有锐利调整大小图像的 multer(上传前 - 使用 toBuffer)

我想用 multer 和 sharp 上传文件;但调整大小不适用于 toBuffer。

这是我的代码:

但是如果我使用 toFile 可以完美地工作。像这样:

0 投票
2 回答
211 浏览

node.js - 使用 HTML 代码检测屏幕上的图像大小

我正在开发一个应用程序,它从网页中获取 HTML 并查看 HTML 中的图像,这些图像可以被压缩和调整大小。

我可以在节点中做第一部分没问题,在这里使用夏普:

https://www.npmjs.com/package/sharp

当然,我也可以在这里调整相同图像的大小。我只是不知道要使用什么尺寸。我不希望一个小图像放大等等。

我可以使用我开始使用的 HTML 以某种方式检测屏幕上图像的大小吗?

提前致谢。

编辑:

很抱歉有任何混淆。我需要知道页面上显示的图像有多大。因此,图像可能是 400x400,但 css 可能会将其限制为 200x200。

如果我有一张大图像(1000x1000),但它只在 500x500 的屏幕上显示,我知道它是调整大小的绝佳选择。

我只是不确定如何根据它的 css 尺寸调整大小。

0 投票
1 回答
93 浏览

node.js - 如何触发后台进程,如何接收中间结果?

我有一个 NodeJS / 后台进程问题,我不知道如何以正确的方式“优雅”地解决它。

用户通过 textarea 提交一些(大约 10 个或更多)URL,然后它们应该被异步处理。[必须截取 puppeteer 的屏幕截图,收集一些信息,屏幕截图应进行清晰处理,并将结果保存在 MongoDB 中。通过 GridFS 的屏幕截图和自己的集合中的 URL 以及对屏幕截图的引用]。

虽然这个异步过程是在后台计算的,但只要处理了 URL,就应该更新页面。

有很多方法可以做到这一点,但哪一种是最正确/直接/节省资源的方法?

Browserify,我在浏览器中做吗?不,客户端的东西太多了.. AJAX/Axios 发布并等待 URL 被处理并在侧面反映结果?在响应发送回客户端之前触发进程还是让客户端开始处理?

0 投票
1 回答
184 浏览

javascript - 带有外部png的SVG到Node中的PNG

是否有一个节点包能够像这样从外部图像转换svg为?pngsvg-file

目前我使用http://sharp.dimens.io/进行转换,但我找不到在不丢失内部外部图像的情况下调整大小并将其保存为 png 的方法:rect只有之后可见。:/

如果您能告诉我我可以用来使上述代码正常工作的任何包,那就太好了:)

提前致谢。

0 投票
1 回答
1130 浏览

express - Node.js 文件上传内存泄漏

我正在使用 Node.js 和 Express 创建一个 API。当用户上传文件时,服务器会使用sharp图像处理库对其进行更改,然后将其上传到 Google Cloud Storage 存储桶。节点进程的 RAM 使用量随着上传文件的大小而增加,并且永远不会减少,即使在运行手动垃圾收集时也是如此。当没有剩余 RAM 可供分配时,服务器会崩溃。

这是问题的重现:

index.js

索引.html

我还使用 Multer.DiskStorage 进行了测试,RAM 使用率保持一致,几乎没有增加太多。但是,由于磁盘存储、目录权限等原因,这种方法并不可取。

感谢您提供的任何帮助!

0 投票
1 回答
826 浏览

node.js - 在 node.js 尖锐的 AWS Lambda 上使用 .overlayWith() 时出错

我在 AWS Lambda 上使用了 sharp,它工作得很好,但是,当我尝试添加水印时,它会出错。

它在本地但在 AWS lambda 上运行良好;它给出了这个错误

水印和 lambda 函数在同一个桶中

https://s3.ap-south-1.amazonaws.com/yallamotor-development-assets/watermark.png

我该如何解决这个问题

0 投票
3 回答
142 浏览

python - 如何从python字典中提取相应的值?

我写了简单的python,它给出了系统如何执行的想法,但没有计算总数。现在我想要的是获得相应的值(即锥形类型、每个勺的勺子风味和每个浇头的顶部风味)并计算总成本,最后显示详细选择的项目(项目-->价格和数量)和总和。

我想简单地通过传递数字来获取选定的项目。例如:1 表示“普通”锥型。

0 投票
1 回答
106 浏览

meteor - 如何防止在 Meteor 客户端上加载 Sharp 模块?

我在服务器的图片集上使用了 npm pkg Sharp来转换 imgs。服务器代码是这样的:

但是在客户端,它会报告错误:

客户端实际上并没有运行尖锐的功能。它仅引用 PicturesStore 并为图片创建一个 minimongo 集合。

在另一个项目中,它在客户端使用 webpack。它可以配置为使用空的虚拟对象解析尖锐。

但是如何创建一个空的虚拟 Sharp 对象以防止在没有 webpack 的情况下在 Meteor 客户端上加载 Sharp 模块?

0 投票
0 回答
422 浏览

node.js - 如何在 Node js 中将 bmp 转换为 webp

我需要在 Node.js 中将 bmp 图像转换为 webp。我可以使用 GraphicsMagick 来做到这一点,但为此我需要在底层操作系统上安装 GraphicsMagick。我需要使用 AWS Lamba 部署此转换器应用程序,因此我需要一个不需要在操作系统上安装任何东西的库,而是只需使用 Node 应用程序中的模块即可完成。

我也尝试过夏普,但它不适用于 bmp(适用于 jpeg)。