C'è una funzione prevedibile per scoprire che tipo di immagine è in C # utilizzando OpenXML?
-
29-09-2019 - |
Domanda
I agganciato nella questione si trova in " Sostituisci immagine in word doc utilizzando OpenXML ". Ho notato che ci sono diversi tipi ImagePartType . C'è qualche facile "costruito in" modo per determinare quale tipo di immagine specifico dovrebbe essere altro che andare da esso di estensione? L'enum ImagePartType è utilizzato anche in PowerPoint come un sacco delle strutture WordprocessingML.,
Per esempio,
ImagePartType.Bmp su
Image1.bmp
ImagePartType.Emf su image1.emf
ImagePartType.Gif su image1.gif
ImagePartType.Icon su image1.ico
ImagePartType.Jpeg su image1.jpeg o image1.jpg
ImagePartType.Pcx su image1.pcx
ImagePartType.Png su image1.png
ImagePartType.Tiff su image1.tiff o image1.tif
ImagePartType.Wmf su image1.wmf
Soluzione
Ci non è - perché si può avere filename.png che è in realtà un file bmp e tutto funziona bene. L'unico modo per sapere con certezza è quello di leggere il file bitmap reale e vedere quale formato si trova.
È possibile eseguire questa operazione caricandola in una classe Immagine, o semplicemente leggere il primo paio di byte e look per la firma di ognuno dei formati.