He escrito un programa de mapeo en Delphi donde el usuario puede cargar una imagen ráster en el fondo que almaceno en la memoria. En un caso, el usuario cargó un BMP de 44 MB con éxito, pero el programa era lento y cuando imprimieron (guardo el resultado) obtuvieron un error de falta de recursos. Convertí el BMP a PNG (3MB) y el programa funciona mucho mejor y el trabajo de impresión fue exitoso.Eficiencia del uso de PNG vs. BMP con archivos grandes
Dado que PNG tiene que expandirse de todos modos a un DIB del mismo tamaño, ¿por qué hay una diferencia de rendimiento/recursos? En todo caso, debería llevar más trabajo y asignaciones de memoria para cargar el archivo PNG. ¿Qué me estoy perdiendo?
Dado que no parece haber respuestas obvias, escribiré un pequeño proyecto de demostración para que pueda investigar más sobre esto.
¿Estás positiva los archivos BMP y PNG tienen el mismo número de píxeles y BitsPerPixel? –
¿Qué está utilizando para imprimir la imagen? ¿Está escribiendo directamente en Printer.Canvas o está utilizando un componente en un informe como QuickReport o Rave? – rkawano
Francois: Sí, obtuve el archivo de clientes y lo intenté yo mismo. rkawano: imprimo en las fichas DIB que envío al lienzo de la impresora. – Mitch