Estoy tratando de cargar una imagen extremadamente grande (14473x25684), pero estoy entrando en una limitación de memoria.OutofMemoryException - Cargando imágenes extremadamente grandes
Aquí es un programa sencillo para demostrar el problema:
static void Main(string[] args)
{
string largeimage = @"C:\Temp\test_image.jpg"; // 14473x25684
Image i = Bitmap.FromFile(largeimage); // OutofMemoryException was unhandled
}
Ahora entiendo que la cuestión no es relevante para la cantidad de memoria física que tengo, sino más bien es una limitación de direccionamiento. ¿Hay algo que pueda hacer para evitar esta limitación?
La imagen es de hecho válida y se abre bien en Photoshop (Tamaño de la VM: 916MB) y ACDSee. Además, no se moleste en buscar las dimensiones ya que las dimensiones enumeradas no son exactas. :)
Gracias por su tiempo.
Me he encontrado con esto antes. Por lo que puedo decir, es el marco el que se está volviendo loco. –
Wow. Esa es una gran imagen. Desafortunadamente, la clase de mapa de bits del marco no cubrirá sus necesidades. Es posible que considere que adoptar un enfoque fragmentado, en el que ubicar el encabezado del mapa de bits usted mismo y muestrear los píxeles en una dimensión de imagen más manejable es su mejor opción. Sin embargo, es un desafío, ya que implica una pequeña reconstrucción de la rueda. Me sorprendería si Photoshop y ACDSee cargan toda la imagen sin comprimir en la memoria. – kbrimington