He buscado cómo comprobar si un archivo TIFF está dañado o no. La mayoría sugiere ajustar la función Image.FromFile en un bloque try. Si arroja una OutOfMemoryException, está corrupta. Alguien ha usado esto? ¿Es efectivo? Alguna alternativa?¿Cómo compruebo si hay imágenes TIFF corruptas en C#?
Respuesta
Solo estará dañado en el sentido de que los métodos de marcos no pueden abrirlo.
hay algunos tipos TIFF que el marco no puede abrir - (En mi caso no puedo recordar el exacto, creo que fue uno de los tipo de fax ...)
Eso puede ser suficiente para ti, si solo buscas un uso del marco para manipular imágenes. Después de todo lo que se puedo abrir, no puedes usarlo ...
ImageMagic - le puede dar más posibilidades aquí
sin mirar el tiff, puede ser difícil de ver si su corruptos desde una perspectiva visual , pero si tiene problemas con el procesamiento de una imagen, simplemente cree una función que realice una prueba básica para este tipo de procesamiento y maneje el error.
Muchos archivos tiff no se abrirán en el estándar GDI + .NET. Es decir, si está ejecutando en Windows XP. La ventana 7 es mucho mejor. Por lo tanto, cualquier archivo que no sea compatible con GDI + (es decir, fax, escala de grises de 16 bits, 48bpp RGB, tiff con teselas, tiff con mosaico piramidal, etc.) se considera 'corrupto'. Y no solo eso, cualquier cosa que resulte en un mapa de bits de unos 100 MByte en un sistema de 32 bits también causará una excepción de falta de memoria.
Si su objetivo es apoyar tanto como sea posible el estándar TIFF, comience por LibTiff (derivados). He usado LibTiff.NET de BitMiracle (LGPL), que funcionó bien para mí. Por favor vea mi otro posts
Muchas de las utilidades TIFF también se basan en LibTIFF, algunas de ellas están portadas a C# .NET. Esta sería mi sugerencia si quiere validar el TIFF.
En cuanto a la especificación TIFF sugerida en otras respuestas: por supuesto, esto le da control a nivel de bit. Pero, para mi experiencia, no necesitarás ir tan bajo para tener un buen soporte TIFF. El formato es tan versátil que le costará una enorme cantidad de tiempo comenzar con soporte desde cero.
Por favor, eche un vistazo al freeware llamado LibTiff .NET. Tiene la función de verificar si cada página en un archivo TIF está dañada o no. Aunque sea parcialmente corrupta también no hay problema
http://bitmiracle.com/libtiff/
Gracias
- 1. ¿Cómo compruebo si ya hay otra instalación en curso?
- 2. ¿Cómo compruebo programáticamente si una imagen (PNG, JPEG o GIF) está dañada?
- 3. ¿Cómo compruebo programáticamente si una imagen GIF está animada?
- 4. Cómo combinar dos o más archivos de imágenes tiff en una imagen Tiff multipágina en JAVA
- 5. sujetapapeles - convertir imágenes tiff en jpg o png
- 6. ¿Cómo compruebo si existe un determinado nodo XML?
- 7. Para cargar archivos .tiff en C#
- 8. extracción eficiente de mosaicos TIFF C++
- 9. ¿Cómo detectar si un archivo es PDF o TIFF?
- 10. ¿Cómo compruebo GroupMe mi número?
- 11. Uso de LibTiff desde C# (para acceder a imágenes TIFF en mosaico)
- 12. convertir bitonal TIFF a PNG bitonal en C#
- 13. ¿Cómo compruebo dos confirmaciones no consecutivas?
- 14. cómo imprimir archivos tiff automáticamente
- 15. Agregar información EXIF a imágenes en C#
- 16. PHP: Determine las imágenes corruptas visualmente (aún válidas) descargadas a través de Curl con GD/Imagemagick
- 17. matlab: cómo salvar series TIFF?
- 18. abriendo una imagen tiff en IE
- 19. ¿Cómo compruebo programáticamente si el menú de mi actividad se muestra en un momento determinado?
- 20. convertir tiff a formato jpg
- 21. ¿cómo compruebo en bash si un archivo se creó hace más de x tiempo?
- 22. ¿Cómo compruebo si BOOL existe en la configuración de usuario NSUserDefaults?
- 23. cómo comprobar si hay una división por cero en c
- 24. Cómo comprobar si hay algo en cin [C++]
- 25. Ver un TIFF multipágina en Javascript
- 26. Conversión de PDF a TIFF o texto en C#
- 27. cómo comprobar si hay valor NaN en Objective-C (SDK iPhone)
- 28. ¿Cómo compruebo si todos los elementos de una matriz son idénticos?
- 29. ¿Cómo puedo leer/cargar imágenes en C++?
- 30. Cargando archivos TIFF en Android
suponiendo que no desea validar el contenido real de los archivos a su estricta especificación ... –