Mysql
 sql >> Database >  >> RDS >> Mysql

Come memorizzare wxImage nel database, usando C++?

wxWidgets non fornisce alcuna API ai dati da wxBitmap (perché dipende dalla piattaforma) ma wxImage utilizza un formato ben definito (e molto semplice) a cui puoi accedere usando il suo GetData() metodo come detto sopra. Nota solo che potresti dover usare GetAlpha() anche se le tue immagini hanno un canale alfa.

Tuttavia non è così che lo farei perché i dati saranno enormi se lo fai così. Mentre è possibile comprimerlo, come suggerito anche sopra, perché preoccuparsi di farlo manualmente quando wxImage supporta già la scrittura di immagini in qualsiasi formato di immagine standard. Basta creare un wxMemoryOutputStream e passalo a SaveFile() . Quindi accedi semplicemente al buffer di flusso direttamente usando GetOutputStreamBuffer()->GetBufferStart() e relative funzioni.