wxWidgets không cung cấp bất kỳ API nào cho dữ liệu từ wxBitmap
(vì nó phụ thuộc vào nền tảng) nhưng wxImage
sử dụng định dạng được xác định rõ (và rất đơn giản) mà bạn có thể truy cập bằng cách sử dụng GetData()
của nó phương pháp như đã đề cập ở trên. Chỉ cần lưu ý rằng bạn có thể cần sử dụng GetAlpha()
cũng như nếu hình ảnh của bạn có kênh alpha.
Tuy nhiên, đây không phải là cách tôi làm vì dữ liệu sẽ rất lớn nếu bạn làm nó như thế này. Trong khi nén nó, như đã đề xuất ở trên, là có thể, tại sao phải làm điều đó theo cách thủ công khi wxImage
đã hỗ trợ ghi hình ảnh ở bất kỳ định dạng hình ảnh tiêu chuẩn nào. Chỉ cần tạo một wxMemoryOutputStream
và chuyển nó vào SaveFile()
. Sau đó, chỉ cần truy cập trực tiếp bộ đệm luồng bằng GetOutputStreamBuffer()->GetBufferStart()
và các chức năng liên quan.