我正在尝试在 node.js 中调整大小和裁剪图像
我一直在使用 graphicsmagick:
代码如下:
gm(path)
.resize(width, height)
.crop(50, 50, left, top)
.write(path, function(err){})
Run Code Online (Sandbox Code Playgroud)
这很简单。我不知道如何使用画布,画布中的等价物是什么?
谢谢。
使用gm和nodejs,如果我将具有透明像素的png转换为jpg,透明像素会自动转换为黑色。如何更改此设置以将透明像素转换为白色?
gm(image)
.quality(100)
.trim()
.setFormat("jpg")
.interlace("Line")
.resize(650, null)
.noProfile()
Run Code Online (Sandbox Code Playgroud) GM 有构建选项quantum,它定义了读取图像时要使用的位深度。用高量子构建 GM 意味着更小的位深度的图像将占用更多的内存。
这里的量子是什么?谁能给我一些关于这方面的资源?
我必须使用 GraphicsMagick 拼接多个图块来创建单个图像。我目前正在使用 -convert 和 -mosaic 并有一些重叠来拼接瓷砖。但是缝合的图像在重叠的地方有边框。
以下是我正在使用的命令:
gm convert -background transparent
-page "+0+0" "E:/Images/Scan 001_TileScan_001_s00_ch00.tif"
-page "+0+948" "E:/Images/Scan 001_TileScan_001_s01_ch00.tif"
-page "+0+1896" "E:/Images/Scan 001_TileScan_001_s02_ch00.tif"
-page "+0+2844" "E:/Images/Scan 001_TileScan_001_s03_ch00.tif"
-mosaic "E:/Output/temp/0.png"
Run Code Online (Sandbox Code Playgroud)
如何进行无边框拼接和混合?
如果我有一个 pdf 文件并且在gm本地运行,我知道如何使用 GraphicsMagick 制作 pdf 第一页的缩略图。我只能这样做:
gm(pdfFileName + "[0]")
.background("white")
.flatten()
.resize(200, 200)
.write("output.jpg", (err, res) => {
if (err) console.log(err);
});
Run Code Online (Sandbox Code Playgroud)
如果我有一个名为的文件,doc.pdf那么传递doc.pdf[0]给它的gm效果很好。
但我的问题是我在 AWS Lambda 函数上生成缩略图,并且 Lambda 将来自源 S3 存储桶的输入数据作为输入数据。我的 lambda 的相关切片如下所示:
// Download the image from S3, transform, and upload to a different S3 bucket.
async.waterfall([
function download(next) {
s3.getObject({
Bucket: sourceBucket,
Key: sourceKey
},
next);
},
function transform(response, next) {
gm(response.Body).size(function(err, size) { // <--- gm USED HERE …Run Code Online (Sandbox Code Playgroud) 我正在尝试对图像执行多个操作(调整大小、裁剪、在底部添加一些空白区域)。
然后我试图在那个空白区域添加一个标题。
我想使用mogrify这样我可以编辑现有文件,而不是创建一个新文件(它将是大量的)。
这给了我一个错误,我不太确定如何做到这一点。不过它确实适用convert。
magick mogrify -resize 300x -crop 300x200+0+50 -extent 300x290 input.jpg -size 300x90 -gravity SouthWest -font "Arial" -pointsize 24 -fill black caption:'dis some really long shit that goes on 3 lines onmg how will it ever the' -composite -quality 100
Run Code Online (Sandbox Code Playgroud) 我需要将2个图像和一个短文本组合成一个图像,格式为第一个图像位于顶部的一行,而另一个图像位于左下角,文本位于右下角.
生成的图像为400px*600px,输入图像可以是任意大小,如果第一张图像小于400px,它将以顶部为中心
Graphicsmagick有可能吗?
是否有命令行脚本可以将openraster(.ora)格式的图形文件转换为更简化的图像格式(jpeg,png,...)?我没有从粗略的互联网搜索中发现“进入”选项。
我尝试了convert来自ImageMagick和GraphicsMagick库的熟悉的命令,但是它们都没有.ora文件的解码委托。
到目前为止,我发现的唯一一个是KDE Calligra套件中的calligraconverter。某些小问题(背景色混乱)可以正常工作。我想知道是否还有其他选择(现在或正在使用),或者这是大多数使用的方法。使用示例:
$ calligraconverter --batch some-triangles.ora some-triangles.jpeg
...
$ ls -lh
total 1.2M
-rw-rw-r-- 1 yuvilio yuvilio 66K Nov 18 18:41 some-triangles.jpeg
-rw-rw-r-- 1 yuvilio yuvilio 1.1M Nov 18 16:25 some-triangles.ora
$
Run Code Online (Sandbox Code Playgroud)
仅供参考,当用wacom数位板编写“笔记本”(文件束)并绘制诸如mypaint或krita之类的绘图程序时,我的用例是节省空间。由于openraster文件会由于存储的所有版本和图层信息而变大,因此,如果我不再需要编辑原始文件,则最好将其导出。
command-line raster imagemagick image-processing graphicsmagick
我有一个node.js应用程序,我是dockerizing,它有一个系统依赖魔术图.我似乎无法安装它,我已经尝试了apt-get在Dockerfile中这样RUN apt-get install --force-yes -y graphicsmagick和一些变化,但我一直得到错误The command '/bin/sh -c apt-get install --force-yes -y graphicsmagick' returned a non-zero code: 100.
不知道如何解决这个问题,是否有关于如何使用http://www.graphicsmagick.org/INSTALL-unix.htmlurl 安装gz文件的步骤教程?
graphicsmagick ×10
imagemagick ×4
node.js ×4
canvas ×1
command-line ×1
docker ×1
javascript ×1
npm ×1
pdf ×1
raster ×1
thumbnails ×1