PictureTool/WinImg.cpp

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);
}
}