2017-02-01 23 views
0

Мне нужно преобразовать multipple tiff в отдельные файлы png .For isntance у меня есть файл tiff, который имеет 3 страницы, и я бы хотел его преобразовать. 3 отдельных png's.In ниже кода я мог преобразовать только первую страницу tiff файл в png.Как преобразовать несколько файлов tiff в png-файлы с помощью gmmagick?

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 с тремя страницами? Я исследую, что нашел метод append, но он не работал. Код ниже!

gm(__dirname+'/Tiff/Recorded.tiff') 
.append(__dirname+'/Tiff/another.tiff').append(false); 

мог я добавить размолвку с одной страницы в ТМИФФ с тремя страницами и получить файл в один Tiff с четырьмя страницами?

+0

Ваш вопрос не очень ясен. Вы имеете в виду, что у вас есть 'file1.tif' и' file2.tif' и 'file3.tif'? Или вы имеете в виду, что у вас есть файл file.tif и он содержит три страницы? –

+0

Извините, если я didi не пишу clear.I означает, что у меня есть file1.tiff, которые имеют 1 страницу, и имеют file2.tiff, которые имеют 3 pages.so в конечном результате я хотел бы иметь один файл TIFA с 4 страницами. не хотите создавать новый файл, просто добавьте одностраничный tiff в tiff, который имеет 3 страницы. Другими словами, я хотел бы добавить file1.tiff с file2.tiff и в результате получить один файл tiff с 4 страницами. –

ответ

0

Ваш вопрос довольно неясен, поэтому я покажу вам несколько примеров, и вы можете извлечь нужные вам биты.

Предположим, что мы начинаем с одного файла TIFF, называемого 6page.tif, который содержит 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 
+0

о, спасибо! но как я могу выполнять эту функцию с помощью кода узла js вместо команды cmd? Я имею в виду, что все это действие, которое я хотел бы выполнить через узел js, а не через cmd? Возможно ли это, что я просто newbee в узле, и иногда я могу дать очевидные вопросы –

0

Команда imagemagick - convert images.tiff image%02d.png.

Я не знаком с модулем gm; Я бы просто использовал child_process для этого.

0

посмотрите этот НПМ модуль https://www.npmjs.com/package/gm

Также эта документация особенно часть примыкают функции

http://aheckmann.github.io/gm/docs.html

Из документации о примыкают функции.

объединение изображений в один файл с несколькими изображениями По умолчанию все изображения последовательности изображений хранятся в одном файле. Однако некоторые форматы (например, JPEG) не поддерживают сохранение более одного изображения на файл, и только первый кадр в последовательности изображений будет сохранен, если результат не будет сохранен для разделения файлов. Используйте + adjoin для принудительного сохранения нескольких кадров в несколько пронумерованных файлов. Если используется + adjoin, то имя выходного файла должно содержать спецификацию форматирования стиля printf для числовой части имени файла.

+0

я посмотрю. –

 Смежные вопросы

  • Нет связанных вопросов^_^