¿Cómo puedo determinar programáticamente el formato de imagen de un archivo de imagen, incluida la codificación específica, como el grupo TIFF?¿Determina el formato de un archivo de imagen?
Respuesta
ver mi respuesta aquí:
Find image format using Bitmap object in C#
using System.Linq;
//...
//get image
var file_bytes = System.Convert.FromBase64String(@"iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==");
var file_stream = new System.IO.MemoryStream(file_bytes);
var file_image = System.Drawing.Image.FromStream(file_stream);
//get image format
var file_image_format = typeof(System.Drawing.Imaging.ImageFormat).GetProperties(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static).ToList().ConvertAll(property => property.GetValue(null, null)).Single(image_format => image_format.Equals(file_image.RawFormat));
System.Diagnostics.Debug.WriteLine(file_image_format, "file_image_format");
//get image codec
var file_image_format_codec = System.Drawing.Imaging.ImageCodecInfo.GetImageDecoders().ToList().Single(image_codec => image_codec.FormatID == file_image.RawFormat.Guid);
System.Diagnostics.Debug.WriteLine(file_image_format_codec.CodecName + ", mime: " + file_image_format_codec.MimeType + ", extension: " + file_image_format_codec.FilenameExtension, "image_codecs", "file_image_format_type");
Un molesto El efecto secundario es que si el archivo NO es una imagen, al tratar de cargarlos desde la secuencia se lanzará silenciosamente una extraña Excepción de OutOfMemory. Al menos los ves reportados al depurar en Visual Studio. Es transparente pero molesto ver todas esas excepciones OOM. –
si no encuentra ninguna biblioteca prefabricada supongo que debe abrir el archivo como binario y buscar los datos del encabezado, lo que significa que debe saber cómo se ve el encabezado para cada formato que le gustaría apoyar .
- 1. ¿Puedo convertir un archivo .swf a un formato de imagen?
- 2. ¿Determina el tamaño original de la imagen del navegador cruzado?
- 3. Formato de archivo de imagen favorito para sprites 2d
- 4. Archivo de imagen RAW: ¿en qué formato están mis datos?
- 5. extraer imagen vectorial de un archivo pdf
- 6. ¿Hay alguna forma de inferir qué formato de imagen es un archivo sin leer todo el archivo?
- 7. "El formato de imagen no se reconoce", según el monitor
- 8. ¿Cómo se determina el tipo de mimo de un archivo cargado por el navegador?
- 9. Un formato de archivo de registro simple
- 10. PNG formato de archivo endianness?
- 11. Buscar formato de imagen utilizando el objeto Bitmap en C#
- 12. ¿Cómo se determina el uso de stat() si un archivo es un enlace simbólico?
- 13. Fortran formato de archivo sin formato
- 14. parche de formato para un solo archivo
- 15. Formato de archivo SVGZ
- 16. ¿Cómo identificar el formato de imagen de NSData?
- 17. ¿Cuál es el formato del archivo de ilustraciones de iTunes?
- 18. ¿Cómo determina f # qué archivo ejecutar en el inicio?
- 19. Formato de archivo de configuración
- 20. Determine el tipo de archivo de una imagen
- 21. ¿Cómo se determina la antigüedad del archivo con PHP?
- 22. Adjuntar a un archivo de imagen
- 23. Cómo duplicar un archivo de imagen? (2.2+)
- 24. Convierte el archivo .html a la imagen
- 25. XG Formato de archivo MIDI
- 26. ¿Cómo se determina la ruta absoluta del archivo de un archivo fuente Java en el plugin de Eclipse?
- 27. formato de archivo jpeg pregunta
- 28. Agregar texto a un archivo de imagen
- 29. Formato de archivo UML estándar
- 30. ¿Cómo abrir una imagen de formato de imagen TIFF de múltiples cuadros en .NET 2.0?
Tome un vistazo a este artículo: http://www.mikekunz.com/image_file_header.html explica el encabezado de los archivos de imagen más comunes , tendrá que leerlo y luego compararlo con lo que espera o simplemente deducir del encabezado el formato de imagen. –
Es un buen artículo, pero no ayuda con los atributos específicos de formato. –
@Ross [Si no le importa profundizar en el códec, puede comenzar aquí] (http://code.google.com/p/fb2pdf/source/browse/trunk/src/java/src/com/itextpdf/text/ pdf/codec/TiffImage.java? r = 623) – Reno