TiffBitmapDecoder decoder = new TiffBitmapDecoder(imageStreamSource, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default);
using (MemoryStream allFrameStream = new MemoryStream())
{
foreach (BitmapFrame frame in decoder.Frames)
{
using (MemoryStream ms= new MemoryStream())
{
JpegBitmapEncoder enc = new JpegBitmapEncoder();
enc.Frames.Add(BitmapFrame.Create(frame));
enc.Save(ms);
ms.CopyTo(allFrameStream);
}
}
Document documentPDF = new Document();
PdfWriter writer = PdfWriter.GetInstance(documentPDF, allFrameStream);
}
항상 allFrameStream의 Length=0
입니다. 그러나 반복 할 때마다 나는 ms.Length=989548
을 볼 수있었습니다. 내 코드의 오류는 무엇입니까? 왜 ms.CopyTo(allFrameStream)
가 작동하지 않습니까?MemoryStream.CopyTo Not working
어디에서 allFrameStream.Length를보고 있습니까? 표시 한 코드는 복사중인 스트림을 사용하지 않습니다. –
@JonSkeet, 이후 각 루프에 대해. 내가'PdfWriter.GetInstance'에서 볼 때, 빠른 시계 창에서 allFrameStream.Length = 0을 보았습니다. – Billa
@JonSkeet, 기본적으로 iTextSharp를 사용하여 여러 페이지의 TIFF 이미지와 표지를 읽으려고합니다. – Billa