wxWidgets nie udostępnia żadnego API do danych z wxBitmap
(ponieważ zależy od platformy), ale wxImage
używa dobrze zdefiniowanego (i bardzo prostego) formatu, do którego można uzyskać dostęp za pomocą jego GetData()
metoda jak wspomniano powyżej. Zauważ tylko, że może być konieczne użycie GetAlpha()
również, jeśli Twoje obrazy mają kanał alfa.
Jednak nie zrobiłbym tego w ten sposób, ponieważ dane będą ogromne jeśli zrobisz to w ten sposób. Chociaż kompresja, jak również sugerowano powyżej, jest możliwa, po co zawracać sobie głowę robieniem tego ręcznie, gdy wxImage
obsługuje już pisanie obrazu w dowolnym standardowym formacie obrazu. Po prostu utwórz wxMemoryOutputStream
i przekaż go do SaveFile()
. Następnie po prostu uzyskaj bezpośredni dostęp do bufora strumienia za pomocą GetOutputStreamBuffer()->GetBufferStart()
i powiązane funkcje.