Italiano - English

PkCBitmap: Windows Bitmap File Loader C++ class

Translation for this document is not available or is not complete,
if you are intrested to receive information please write to

Viene presentata una classe la lettura ultra veloce di un file bitmap in C++. La versione originale a cura di Benjamin Kalytta è stata modificata da PkLab introducendo, tra l'altro, il riutilizzo della memoria.

Può capitare di dover realizzare un software in cui è necessario leggere numerosissime immagini bitmap da file. In questo caso la performance dell'operazione è fondamentale e purtroppo le librerie .NET  C# di Visual Studio sono decisamente lente.

Inoltre se le immagini sono lette in sequenza e sono tutte della stessa dimensione, come accade ad esempio per i frame di un video, l'ottimizzazione della memoria puo' fornire un grande aiuto.

La classe CBitmap qui presentata propone una lettura diretta di un file bitmap, utilizzando codice C++ estremamente più veloce del metodo Image::FromFile o Image::FromStream. Inoltre la classe propone un metodo per il riutilizzo della memoria in caso la dimensione e formato dell'immagine è identico alla immagine letta in precedenza.

La versione originale bitmap.h della classe qui presentata è stata sviluppata da Benjamin Kalytta (http://www.kalytta.com)

La versione modificata PkBitmap.h da PkLab:

  • aggiunge alcune ottimizzazioni e modifiche
  • introduce il metodo ReLoad che, nel caso esiste, utilizza la memoria allocata per un Load precedente.
  • introduce un overload per il metodo GetBits che permette di specificare il formato desiderato per il buffer.

Codice sorgente per una applicazione di test performance test.zip

Vote this page:

0 Comments:

Leave your comment:

Note:
  • Your email email will not be visible or used in any way, and is not required
  • Please keep comments relevant
  • Any content deemed inappropriate or offensive may be edited and/or deleted
  • HTML code is not allowed. Please use BBCode to format your text
    [b]bold[/b], [u]underline[/u], [i]italic[/i], [code]code[/code]
The coding examples presented here are for illustration purposes only. The author takes no responsibility for end-user use
This work is property of Pk Lab. You can use it for free but you must retain author's copyright.