问题标签 [jimp]

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 回答
109 浏览

javascript - 如何在 Node.js 上使用模糊效果而不是 letterboxing 按比例调整图像大小?

我有一张矩形的照片,我想将其缩小为正方形,同时保留纵横比。像Sharp这样的库允许您通过对生成的图像应用信箱来做到这一点。

这是结果:

带信箱

而不是应用信箱,我希望剩余的空白空间填充图像的第二个模糊版本,放置在调整大小的图像后面,如下所示:

例子

是否有开箱即用的 Node.js 库或实现此目的的某种自定义方式?

0 投票
0 回答
28 浏览

node.js - Next js api函数中公共文件夹中的本地文件使用什么路径

我在 NextJs api 函数中使用 Jimp NPM 模块进行图像处理,该函数使用位于公共文件夹中的本地字体,这在开发服务器中工作正常,但在部署到 vercel 时出现错误,错误说没有这样的文件或目录,我什至尝试使用 Jimp.FONT_SANS_64_BLACK 但它仍然给我同样的错误。

0 投票
1 回答
24 浏览

node.js - 提供的形状错误,预期 (1200000) 和实际 (400000) 张量值不同

有没有办法让输入图像值与预期值匹配?我知道的输入图像的宽度是 800 像素,高度是 500 像素,并且是彩色的(意思是 3 个通道),所以形状应该是 [800,500,3]。但是,我收到以下错误:

错误:Error: Based on the provided shape, [800,500,3], the tensor should have 1200000 values but has 400000

有没有办法给图像赋值 1200000,或者将形状调整为 400000 但仍保留 3 个通道的 800x500 尺寸?

编码:

0 投票
1 回答
58 浏览

node.js - NodeJs、Express、Jimp:如何在 Promise 中加载字体和读取文件?

使用 nodejs、express、Jimp。我无法让 Jimp 将“.print”转换为图像和“.writeAsync”,或者更准确地说,我认为问题在于我无法使用“.loadFont”和“.read”。我尝试通过嵌套在“.read”内部和外部使用“.loadFont”。我只能在没有“.print”编辑的情况下获得新保存的.png。

我整天都在尝试我能在互联网上找到的所有方法。

0 投票
0 回答
26 浏览

node.js - 有什么办法可以在 jimp 中的矩形上有一个自定义(虚线)边框?

我正在制作一个应用程序,jimp其中我需要有自定义边框的矩形(即 3px 蓝色虚线)。有什么办法吗?

0 投票
0 回答
21 浏览

javascript - 节点 Jimp - 如何添加具有方形背景的文本

我需要使用 Jimp 节点模块在图像上添加文本。但有时它会与图像混淆。例如:黑色文本悬停在本身带有黑色的图像上。

所以我需要插入一个白色方块并在里面写上黑色。

在 Jimp 的文档中没有找到它。

我的实际代码:

这会将文本悬停在图像上,而不是正方形。

谢谢!

0 投票
1 回答
37 浏览

javascript - 如何正确更改像素的颜色?

jimp用来操纵图像。我正在尝试制作类似于选择矩形的东西,当绘制时它具有透明颜色(#BBBBBBBB)。如何计算RGB需要为像素设置的值?我想保留旧颜色并将透明颜色放在上面并将它们组合起来。我怎样才能做到这一点?

0 投票
1 回答
37 浏览

javascript - 如何将 Base64 字符串转换为 PNG(当前使用 Jimp)?

我目前正在创建一个实时聊天应用程序。node.js这是一个用于后端并用于socket.io来回连接的 Web 应用程序。

目前,我正在使用个人资料图片创建用户个人资料。这些个人资料图片将存储在一个名为images/profiles/. 该文件将由用户的id. 例如:具有id1 的用户将他们的个人资料图片存储在images/profiles/1.png. 非常不言自明。

当用户提交表单以更改他们的头像时,浏览器 JavaScript 将获取图像,并将其发送到服务器:

我已经注释了大部分代码,所以很容易理解。然后服务器获取此信息。有了这些信息,服务器应该将发送的图像转换为一种png格式(我可以做任何格式,但所有图像的格式必须相同)。我目前正在使用该jimp库来执行此任务,但它似乎不起作用。

我得到的错误:

我已经在互联网上搜索了答案,但找不到任何答案。如果有帮助,我可以使用另一个库。我还可以更改文件格式(如果需要,可以更改.png.jpg.jpeg;它只需要与所有文件保持一致)。我唯一不能改变的是使用 JavaScript/Node.js并将socket.io信息发送到服务器。

先感谢您。任何和所有的帮助表示赞赏。

0 投票
0 回答
22 浏览

javascript - 如何在 Jimp 的矩形区域上制作虚线边框?

我正在制作一个Node.js带有图像处理的应用程序。我正在Jimp用作图像处理库。我正在尝试根据参数(x、y、宽度、高度)制作虚线边框,并且我目前正在尝试使边框变为上、右、下、左。在左侧和底部边框上,我需要反转扫描,但我无法给出负数作为scanQuiet. 有什么办法可以解决我的问题吗?

代码:

图像应该如何: 它应该是怎样的

它是怎样的: 怎么样

0 投票
0 回答
28 浏览

node.js - 如何在 Jimp 中制作虚线边框?

我正在制作一个用于图像处理的Node.js应用程序。Jimp我想根据矩形本身的参数(x、y、宽度和高度)在矩形上制作虚线边框。我希望边框尽可能接近 Web 浏览器的虚线边框。我的意思是它向上、向右、向下,最后向左。我还需要一个offset变量来让它稍微向外一点,但我想我做到了(如果你认为有办法改善偏移,请告诉我)。问题是我使用scanQuietfromJimp并且我无法后退(即 -width 或 -height)。对于底部的虚线,我需要向后移动宽度(-width),对于左侧 - 向后移动高度(-height)。我怎么做?我可以做吗scanQuiet倒退?有没有更好的方法来做虚线边框?

注意:我有一个名为的函数blendColors,我将在下面的代码中包含它。

代码:

图像应该如何:正确选择

目前的图像是怎样的:错误选择

注意:忽略第二张图片中间的数字。

更新:新代码