wxWidgets biedt geen API voor de gegevens van wxBitmap
(omdat het platformafhankelijk is) maar wxImage
gebruikt een goed gedefinieerde (en zeer eenvoudige) indeling die u kunt openen met behulp van de GetData()
methode zoals hierboven vermeld. Houd er rekening mee dat u mogelijk GetAlpha()
. moet gebruiken ook als uw afbeeldingen een alfakanaal hebben.
Dit is echter niet hoe ik het zou doen, omdat de gegevens enorm zullen zijn als je het zo doet. Hoewel comprimeren, zoals ook hierboven gesuggereerd, mogelijk is, waarom zou je het dan handmatig doen als wxImage
ondersteunt al het schrijven van afbeeldingen in een van de standaard afbeeldingsformaten. Maak gewoon een wxMemoryOutputStream
en geef het door aan SaveFile()
. Ga dan gewoon rechtstreeks naar de streambuffer met GetOutputStreamBuffer()->GetBufferStart()
en gerelateerde functies.