0
我正在编程图像查看器作为学校的任务,我不能使用任何库来阅读或操作图像。首先我以bmp格式开始。我已经创建了类来处理这种类型的文件。作为GUI框架,我正在使用wxWidgets。wxImage并绘制原始rgb字节
所以我有纯RGB字节数组,对wxImage构造准备
wxImage(int width, int height, unsigned char* data, bool static_data = false).
问题是,当我将它转换为wxBitmap并绘制成直流电它忽视RGB值平局只有黑色的画面。我真的不知道可能是什么问题。这是我画的图像代码:
DrawImage(wxDC &dc)
{
BYTE *rgbArray = bmpFile->GetRGB();
wxSize imageSize = wxSize(bmpFile->GetSize().w,bmpFile->GetSize().h);
wxImage image = wxImage(imageSize, &rgbArray);
wxBitmap bitmap = wxBitmap(image);
dc.DrawBitmap(bitmap,5,5, false);
}
这是油漆事件:
void OnPaint(wxPaintEvent& event)
{
wxAutoBufferedPaintDC dc(canvas);
dc.SetBackground(wxBrush(canvas->GetBackgroundColour()));
dc.Clear();
DrawImage(dc);
}
rgbArray充满了正确的价值观,我多次检查了它。
感谢所有帮助:)
好吧,这是卓有成效的,多么愚蠢的错误,感谢帮助:) – eXPi 2013-02-16 14:30:47