如何使用 gmmagick 将多个 tiff 文件转换为 png 文件?
How to convert multiple tiff file to png files using gmmagick?
我必须将多个 tiff 转换为单独的 png 文件。事实上,我有一个包含 3 页的 tiff 文件,我想将它转换为 3 个单独的 png' s.In 下面的代码我只能将 tiff 文件的第一页转换为 png。
gm(__dirname+'/Tiff/Recorded.tiff').write(__dirname+'/Png/cpng.png',(err)=>{
if(!err){
console.log('Done');
}
else {
console.log(err);
}
});
我如何转换此 tiff 文件的第二页?
关于将一个 tiff 文件添加到另一个 tiff 中的第二个问题。例如,我有一页的 tiff 文件和三页的第二个 tiff 文件?我调查我找到了追加方法,但它不是下面的 working.The 代码!
gm(__dirname+'/Tiff/Recorded.tiff')
.append(__dirname+'/Tiff/another.tiff').append(false);
我可以将一页的 tiff 添加到三页的 tiiff 中,得到一个四页的 tiff 文件吗?
imagemagick 命令是convert images.tiff image%02d.png
。
我不熟悉 gm
模块;我会为此使用 child_process
。
你的问题比较不清楚,我给你举几个例子,你可以提取你需要的部分。
假设我们从一个名为 6page.tif
的 TIFF 文件开始,其中有 6 页。让我们看看有多少页:
gm identify 6page.tif
6page.tif[0] TIFF 595x842+0+0 DirectClass 16-bit 17.2Mi 0.000u 0m:0.000000s
6page.tif[1] TIFF 595x842+0+0 DirectClass 16-bit 17.2Mi 0.000u 0m:0.000000s
6page.tif[2] TIFF 595x842+0+0 DirectClass 16-bit 17.2Mi 0.000u 0m:0.000000s
6page.tif[3] TIFF 595x842+0+0 DirectClass 16-bit 17.2Mi 0.000u 0m:0.000000s
6page.tif[4] TIFF 595x842+0+0 DirectClass 16-bit 17.2Mi 0.000u 0m:0.000000s
6page.tif[5] TIFF 595x842+0+0 DirectClass 16-bit 17.2Mi 0.000u 0m:0.000000s
好的,6 页,编号 0-5。
让我们将第 3 页提取为 PNG:
gm convert 6page.tif[3] JustPage3.png
让我们将提取的第 3 页附加到原始 tif 的末尾:
gm convert 6page.tif JustPage3.png BigBoy.tif
现在检查我们得到了什么 - 是的,7 页:
gm identify BigBoy.tif
BigBoy.tif[0] TIFF 595x842+0+0 DirectClass 16-bit 17.7Mi 0.000u 0m:0.000000s
BigBoy.tif[1] TIFF 595x842+0+0 DirectClass 16-bit 17.7Mi 0.000u 0m:0.000000s
BigBoy.tif[2] TIFF 595x842+0+0 DirectClass 16-bit 17.7Mi 0.000u 0m:0.000000s
BigBoy.tif[3] TIFF 595x842+0+0 DirectClass 16-bit 17.7Mi 0.000u 0m:0.000000s
BigBoy.tif[4] TIFF 595x842+0+0 DirectClass 16-bit 17.7Mi 0.000u 0m:0.000000s
BigBoy.tif[5] TIFF 595x842+0+0 DirectClass 16-bit 17.7Mi 0.000u 0m:0.000000s
BigBoy.tif[6] TIFF 595x842+0+0 PseudoClass 65536c 16-bit 17.7Mi 0.000u 0m:0.000000s
看看这个 npm 模块 https://www.npmjs.com/package/gm
还有这个文档,尤其是 adjoin 函数的部分
http://aheckmann.github.io/gm/docs.html
来自关于 adjoin 函数的文档。
将图像合并到一个多图像文件中 默认情况下,一个图像序列的所有图像都存储在同一个文件中。但是,某些格式(例如 JPEG)不支持在每个文件中存储多个图像,并且只有图像序列中的第一帧才会被保存,除非结果被保存到单独的文件中。使用 +adjoin 强制将多个帧保存到多个编号的文件中。如果使用 +adjoin,则输出文件名必须包含文件名数字部分的 printf 样式格式规范。
我必须将多个 tiff 转换为单独的 png 文件。事实上,我有一个包含 3 页的 tiff 文件,我想将它转换为 3 个单独的 png' s.In 下面的代码我只能将 tiff 文件的第一页转换为 png。
gm(__dirname+'/Tiff/Recorded.tiff').write(__dirname+'/Png/cpng.png',(err)=>{
if(!err){
console.log('Done');
}
else {
console.log(err);
}
});
我如何转换此 tiff 文件的第二页?
关于将一个 tiff 文件添加到另一个 tiff 中的第二个问题。例如,我有一页的 tiff 文件和三页的第二个 tiff 文件?我调查我找到了追加方法,但它不是下面的 working.The 代码!
gm(__dirname+'/Tiff/Recorded.tiff')
.append(__dirname+'/Tiff/another.tiff').append(false);
我可以将一页的 tiff 添加到三页的 tiiff 中,得到一个四页的 tiff 文件吗?
imagemagick 命令是convert images.tiff image%02d.png
。
我不熟悉 gm
模块;我会为此使用 child_process
。
你的问题比较不清楚,我给你举几个例子,你可以提取你需要的部分。
假设我们从一个名为 6page.tif
的 TIFF 文件开始,其中有 6 页。让我们看看有多少页:
gm identify 6page.tif
6page.tif[0] TIFF 595x842+0+0 DirectClass 16-bit 17.2Mi 0.000u 0m:0.000000s
6page.tif[1] TIFF 595x842+0+0 DirectClass 16-bit 17.2Mi 0.000u 0m:0.000000s
6page.tif[2] TIFF 595x842+0+0 DirectClass 16-bit 17.2Mi 0.000u 0m:0.000000s
6page.tif[3] TIFF 595x842+0+0 DirectClass 16-bit 17.2Mi 0.000u 0m:0.000000s
6page.tif[4] TIFF 595x842+0+0 DirectClass 16-bit 17.2Mi 0.000u 0m:0.000000s
6page.tif[5] TIFF 595x842+0+0 DirectClass 16-bit 17.2Mi 0.000u 0m:0.000000s
好的,6 页,编号 0-5。
让我们将第 3 页提取为 PNG:
gm convert 6page.tif[3] JustPage3.png
让我们将提取的第 3 页附加到原始 tif 的末尾:
gm convert 6page.tif JustPage3.png BigBoy.tif
现在检查我们得到了什么 - 是的,7 页:
gm identify BigBoy.tif
BigBoy.tif[0] TIFF 595x842+0+0 DirectClass 16-bit 17.7Mi 0.000u 0m:0.000000s
BigBoy.tif[1] TIFF 595x842+0+0 DirectClass 16-bit 17.7Mi 0.000u 0m:0.000000s
BigBoy.tif[2] TIFF 595x842+0+0 DirectClass 16-bit 17.7Mi 0.000u 0m:0.000000s
BigBoy.tif[3] TIFF 595x842+0+0 DirectClass 16-bit 17.7Mi 0.000u 0m:0.000000s
BigBoy.tif[4] TIFF 595x842+0+0 DirectClass 16-bit 17.7Mi 0.000u 0m:0.000000s
BigBoy.tif[5] TIFF 595x842+0+0 DirectClass 16-bit 17.7Mi 0.000u 0m:0.000000s
BigBoy.tif[6] TIFF 595x842+0+0 PseudoClass 65536c 16-bit 17.7Mi 0.000u 0m:0.000000s
看看这个 npm 模块 https://www.npmjs.com/package/gm
还有这个文档,尤其是 adjoin 函数的部分
http://aheckmann.github.io/gm/docs.html
来自关于 adjoin 函数的文档。
将图像合并到一个多图像文件中 默认情况下,一个图像序列的所有图像都存储在同一个文件中。但是,某些格式(例如 JPEG)不支持在每个文件中存储多个图像,并且只有图像序列中的第一帧才会被保存,除非结果被保存到单独的文件中。使用 +adjoin 强制将多个帧保存到多个编号的文件中。如果使用 +adjoin,则输出文件名必须包含文件名数字部分的 printf 样式格式规范。