wxWidgets не предоставя никакъв API за данните от wxBitmap
(защото зависи от платформата), но wxImage
използва добре дефиниран (и много прост) формат, до който можете да получите достъп, като използвате неговия GetData()
метод, както е споменато по-горе. Само забележете, че може да се наложи да използвате GetAlpha()
както и ако вашите изображения имат алфа канал.
Аз обаче не бих го направил така, защото данните ще бъдат огромни ако го направиш така. Въпреки че компресирането му, както беше предложено по-горе, е възможно, защо да се притеснявате да го правите ръчно, когато wxImage
вече поддържа записване на изображение във всеки от стандартните графични формати. Просто създайте wxMemoryOutputStream
и го предайте на SaveFile()
. След това просто влезте директно в буфера на потока, като използвате GetOutputStreamBuffer()->GetBufferStart()
и свързани функции.