加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
maparea.cpp 912 Bytes
一键复制 编辑 原始数据 按行查看 历史
qizr 提交于 2021-12-24 21:38 . add draw area
#include "maparea.h"
#include "maplayer.h"
#include <QPainter>
#include <QDateTime>
void EasyGIS::Maparea::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
{
painter->setPen(this->pen());
painter->setBrush(this->brush());
double r=mLayer->resolution();
QPolygonF scene_points;
foreach(QPointF point,this->mkt_points){
scene_points.append(point/r);
}
painter->drawPolygon(scene_points);
}
QRectF EasyGIS::Maparea::boundingRect() const
{
if(this->mkt_points.size()==0){
return QRectF();
}
double r=mLayer->resolution();
QRectF rect= this->mkt_points.boundingRect();
return QRectF(rect.x()/r,rect.y()/r,rect.width()/r,rect.height()/r);
}
void EasyGIS::Maparea::append(QPointF mkt_point)
{
this->mkt_points.append(mkt_point);
}
QPointF &EasyGIS::Maparea::lastMktpoint()
{
return this->mkt_points.last();
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化