Инвертированные цвета в формате TIFF в PDF - PullRequest
0 голосов
/ 27 мая 2010

Я уверен, что делаю здесь какую-то глупую ошибку, но при преобразовании файла TIFF в PDF цвета меняются местами. Я не могу понять, почему. Вот мой код:

Document document = new Document(PageSize.A4, 50, 50, 50, 50);

PdfWriter writer = PdfWriter.GetInstance(document, new FileStream("Image.pdf", FileMode.Create));

System.Drawing.Bitmap bm = new System.Drawing.Bitmap(@"C:\Temp\338814-00.tif");
int total = bm.GetFrameCount(FrameDimension.Page);                

document.Open();
PdfContentByte cb = writer.DirectContent;

for (int k = 0; k < total; ++k)
{
 bm.SelectActiveFrame(FrameDimension.Page, k);
 MemoryStream ms = new MemoryStream();
 bm.Save(ms, ImageFormat.Tiff);

 Image img = Image.GetInstance(ms.ToArray());

 img.ScalePercent(72f / (float)img.DpiX * 100);
 img.SetAbsolutePosition(0, 0);

 cb.AddImage(img);
 document.NewPage();     
}
document.Close();

Спасибо.

1 Ответ

1 голос
/ 02 июня 2010

Наилучшим решением, по-видимому, является замена строки:

bm.Save(ms, ImageFormat.Tiff);

с

bm.Save(ms, ImageFormat.Png);

Png, кажется, обеспечивает наилучшую скорость / размер файла для изображений Tiff. Почему это работает, я до сих пор не знаю.

...