Вопрос

I am having an error when converting/reading 2 pages .tif files . What is the right approach for this?

2 page

Here's the error:

ImageMagick.MagickCoderErrorException: Magick: C:\DigitalAssets\sample.TIF: Null count for "Tag 33426" (type 4, writecount -3, passcount 1). `_TIFFVSetField' @ error/tiff.c/TIFFErrors/561
   at ImageMagick.MagickImage.HandleReadException(MagickException exception)
   at ImageMagick.MagickImage.Read(String fileName, MagickReadSettings readSettings)
   at Digital_Asset_Converter_Service.Service.EPSFolderWatcher_Created(Object sender, FileSystemEventArgs e)

Here's the code:

string fileName = @"C:\DigitalAssets\sample.tif";
using (MagickImageCollection image = new MagickImageCollection())
    {
        MagickReadSettings settings = new MagickReadSettings();
        // settings.ColorSpace = ColorSpace.RGB;
        settings.Density = new MagickGeometry(300, 300);
        //settings.FrameIndex = 0;
        // settings.FrameCount = 1;

        image.Read(fileName,settings);
    }
Это было полезно?

Решение

Your image contains a corrupt tiff tag that causes a MagickCoderErrorException. We made a change to ImageMagick that will allow you to ignore a specific tiff tag. Below is an example that will prevent the MagickCoderErrorException:

using (MagickImage image = new MagickImage())
{
  image.SetDefine(MagickFormat.Tiff, "ignore-tags", "33426");
  // Or if you want to ignore multiple tags:
  image.SetDefine(MagickFormat.Tiff, "ignore-tags", "33426,33428");

  MagickReadSettings settings = new MagickReadSettings();
  // settings.ColorSpace = ColorSpace.RGB;
  settings.Density = new MagickGeometry(300, 300);

  image.Read(fileName, settings);
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top