30 lines
599 B
C++
30 lines
599 B
C++
#include "WinImg.h"
|
|
|
|
CImagePanel::CImagePanel(wxWindow* parent)
|
|
: wxPanel(parent), bitmap_(wxNullBitmap)
|
|
{
|
|
Bind(wxEVT_PAINT, &CImagePanel::OnPaint, this);
|
|
}
|
|
|
|
void CImagePanel::set_img(const cv::Mat& img)
|
|
{
|
|
if (img.empty()) {
|
|
return;
|
|
}
|
|
|
|
cv::Mat rgb_img;
|
|
cv::cvtColor(img, rgb_img, cv::COLOR_BGR2RGB);
|
|
|
|
wxImage wimg(rgb_img.cols, rgb_img.rows, rgb_img.data, true);
|
|
bitmap_ = wxBitmap(wimg);
|
|
Refresh();
|
|
}
|
|
|
|
void CImagePanel::OnPaint(wxPaintEvent& event)
|
|
{
|
|
wxPaintDC dc(this);
|
|
if (bitmap_.IsOk()) {
|
|
dc.DrawBitmap(bitmap_, 0, 0, false);
|
|
}
|
|
}
|