Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Tiff Multipagina: un bagno di sangue

15 views
Skip to first unread message

Fransis il mulo parlante

unread,
May 13, 2010, 4:57:28 AM5/13/10
to
Ho creato una procedura che prende un tiff multipagina e crea tante jpg
(una per pagina).

Su alcune immagini tutto ok mentre su altre ottengo due tipi di
eccezione piuttosto anonime sebbene su google ho visto che in molti
hanno problemi simili.

Il codice ᅵ piᅵ o meno questo:

FileStream fss = File.OpenRead(this.filePath);
System.Drawing.Image imageFile =
System.Drawing.Image.FromStream(fss);
fss.Close();
this._nPages =
imageFile.GetFrameCount(FrameDimension.Page);
for (int i = 0; i < this.nPages; ++i)
{
imageFile.SelectActiveFrame(FrameDimension.Page, i);
Bitmap bmp = new Bitmap(imageFile);
MemoryStream imageStream = new MemoryStream();
bmp.Save(imageStream,
System.Drawing.Imaging.ImageFormat.Jpeg);
byte[] imageContent = new Byte[imageStream.Length];
imageStream.Position = 0;
imageStream.Read(imageContent, 0,
(int)imageStream.Length);
this._pagine.Add(imageContent);
bmp.Dispose();
}
imageFile.Dispose();


Gli errori che si possono verificare, solo per alcune immagini tiff sono:

1. Parametro non valido e si blocca su
System.Drawing.Image imageFile = System.Drawing.Image.FromStream(fss);

2. Errore generico GDI+ e si blocca su
imageFile.SelectActiveFrame(FrameDimension.Page, i) con i >= 1.

Qualche idea? Non so piᅵ dive battere la testa.

Grazie

Fransis.

P.S.: i file esistono, i permessi sono uguali per tutti i file sia
quelli gestiti bene sia per quelli che danno errori.

Mauro Servienti [MVP]

unread,
May 13, 2010, 12:41:32 PM5/13/10
to
Ciao Fransis il mulo parlante,

You wrote on 13/05/2010 :
> Qualche idea? Non so piᅵ dive battere la testa.

io so solo che lo sandard per le tiff multi pagina fa acqua da tutte le
parti e ognuno lo implementa a modo suo, soprattutto i vari device
(tipo le stampanti) che fanno scansioni su tiff multi pagina.

.m

--
Mauro Servienti
{C67C0157-5D98-4733-A75E-93CAEE4BADC8}
Microsoft MVP - Visual C# / MCP
http://mvp.support.microsoft.com
http://blogs.ugidotnet.org/topics
whynot [ at ] topics [ dot ] it


0 new messages