Конвертировать многостраничный TIFF в PNG. Net

Я могу преобразовать одностраничный TIFF в формат PNG в .Net Однако, как бы я сделал это для многостраничного TIFF?

7
задан mytwocents 25 August 2010 в 14:04
поделиться

2 ответа

Вы должны выбрать активный кадр (страницу) в цикле и преобразовать каждую страницу tiff в png.

int pageCount = 1;
try
{
    pageCount = bmp.GetFrameCount(FrameDimension.Page);
}
catch (Exception)
{
    // sometimes GDI+ throws internal exceptions.
    // just ignore them.
}

for (int page = 0; page < pageCount; page++)
{
    bmp.SelectActiveFrame(FrameDimension.Page, page);
    // save or otherwise process tiff page
}

Этот код предполагает, что вы можете загрузить изображение Tiff в объект System.Drawing.Bitmap.

6
ответ дан 6 December 2019 в 10:46
поделиться

Imagemagick может делать с изображениями практически все, но это может занять некоторое время, чтобы сделать это правильно из-за огромного количества вариантов на выбор. Вы можете использовать взаимодействие для работы непосредственно с Imagemagick или вы можете использовать оболочку .NET. Я использовал только взаимодействие, поэтому я не знаю, насколько хороша или плоха обертка.

private readonly ImageMagickObject.MagickImageClass _imageMagick = new ImageMagickObject.MagickImageClass();

var parameters = new object[] {sourcePath, destPath};
_imageMagick.Convert(ref parameters);

Параметры вы должны выяснить сами на сайте ImageMagick. Посмотрите справку по параметру командной строки и поищите на форуме многостраничный tiff. Я предполагаю, что вы хотите разделить TIFF на несколько PNG? Тогда может быть что-то вроде этого:

convert multipage.tif single%d.png

1
ответ дан 6 December 2019 в 10:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: