Ho scritto un programma di mappatura in Delphi in cui l'utente può caricare un'immagine raster in background che memorizzo in memoria. In un caso l'utente ha caricato con successo un BMP da 44MB, ma il programma era lento e quando hanno stampato (aggiungo l'output) hanno ottenuto un errore Out Of Resources. Ho convertito il BMP in PNG (3 MB) e il programma ha prestazioni migliori e il lavoro di stampa è andato a buon fine.Efficienza nell'utilizzo di PNG vs BMP con file di grandi dimensioni
Poiché il PNG deve essere espanso su un DIB della stessa dimensione, tuttavia, perché esiste una differenza di prestazioni/risorse? Se necessario, occorre più lavoro e allocazioni di memoria per caricare il PNG. Cosa mi manca?
Dal momento che non sembrano esserci risposte ovvie, scriverò un piccolo progetto dimostrativo in modo da poter effettuare ulteriori ricerche.
Sei positivi i file BMP e PNG hanno lo stesso numero di pixel e BitsPerPixel? –
Che cosa stai utilizzando per stampare l'immagine? Stai scrivendo direttamente su Printer.Canvas o stai utilizzando un componente in un report come QuickReport o Rave? – rkawano
Francois: Sì, ho preso il file dei clienti e l'ho provato personalmente. rkawano: stampo su tessere DIB che invio alla tela della stampante. – Mitch