文件结构:
头文件boardlayer.h
#ifndef BOARDLAYER_H
#define BOARDLAYER_H
#include "qk2dview.h"
#include <QImage>
class BoardLayer : public Qk2dViewLayer
{
public:
BoardLayer();
const QImage& image() const { return m_image; }
QTransform imageToWorld() const { return m_imgToWorld; }
QTransform worldToImage() const { return m_worldToImg; }
private:
void draw_ex(QPainter &painter) override;
void calcTransform();
private:
QImage m_image;
QPointF m_origin;
double m_pixelSize;
QRectF m_worldRect; // image rect in world coordinate
QTransform m_imgToWorld; // convert image coordinate to world coordinate
QTransform m_worldToImg; // convert world coordinate to image coordinate
};
#endif // BOARDLAYER_H
#ifndef BOARDLA