当前位置: 首页 > news >正文

晋城商城网站开发设计一级域名 二级域名 目录网站推广

晋城商城网站开发设计,一级域名 二级域名 目录网站推广,深圳做推广哪家比较好,临泉县建设局网站前文链接#xff1a;QGraphicsView实现简易地图3『局部加载-地图缩放』 当鼠标拖动地图移动时#xff0c;需要实时增补和删减瓦片地图#xff0c;大致思路是计算地图从各方向移动时进出视口的瓦片坐标值#xff0c;根据变化后的瓦片坐标值来增减地图瓦片#xff0c;以下将…前文链接QGraphicsView实现简易地图3『局部加载-地图缩放』 当鼠标拖动地图移动时需要实时增补和删减瓦片地图大致思路是计算地图从各方向移动时进出视口的瓦片坐标值根据变化后的瓦片坐标值来增减地图瓦片以下将提供实现此需求的核心代码。 1、动态演示效果 2、静态展示图片 核心代码 void MapView::moveScene() {QString appPath QApplication::applicationDirPath();QString dirPath QString(%1/MapData/GaoDeMap/Map/MapPng/L0%2).arg(appPath).arg(m_curLevel 1);// 视口宽度和高度int w viewport()-width();int h viewport()-height();// 计算呈现的瓦片地图左上角的场景坐标和视口坐标、呈现的瓦片地图右下角的场景坐标和视口坐标QPoint topLeftScenePos(m_topLeftTileCoord.x * PIXMAP_SIZE, m_topLeftTileCoord.y * PIXMAP_SIZE);QPointF topLeftViewPos mapFromScene(topLeftScenePos);QPoint bottomRightScenePos(m_bottomRightTileCoord.x * PIXMAP_SIZE, m_bottomRightTileCoord.y * PIXMAP_SIZE);QPointF bottomRightViewPos mapFromScene(bottomRightScenePos);// 1、水平瓦片坐标控制判断最左侧瓦片是否完全进入视口、最右侧瓦片是否完全离开视口if (topLeftViewPos.x() 0){int count qCeil(topLeftViewPos.x() / PIXMAP_SIZE); // 左侧进入视口瓦片数量int oldLeftTileCoordX m_topLeftTileCoord.x; // 保存原左侧瓦片坐标Xm_topLeftTileCoord.x - count; // 更新现左侧瓦片坐标X// 增加从左侧进入视口的图片for (int row m_topLeftTileCoord.y; row m_bottomRightTileCoord.y; row){for (int col m_topLeftTileCoord.x; col oldLeftTileCoordX; col){QString fileName QString(%1/Map_%2-%3.png).arg(dirPath).arg(QString::number(row 1).rightJustified(2, 0)).arg(QString::number(col 1).rightJustified(2, 0));QPixmap pixmap(fileName);QGraphicsPixmapItem *item new QGraphicsPixmapItem(pixmap);item-setPos(PIXMAP_SIZE * col, PIXMAP_SIZE * row);m_scene-addItem(item);m_mapItems[row][col] item;}}}if (bottomRightViewPos.x() w){int count qFloor((bottomRightViewPos.x() - w) / PIXMAP_SIZE) 1; // 右侧离开视口瓦片数量int oldRightTileCoordX m_bottomRightTileCoord.x; // 保存原右侧瓦片坐标Xm_bottomRightTileCoord.x - count; // 更新现右侧瓦片坐标X// 删除从右侧离开视口的图片for (int row m_topLeftTileCoord.y; row m_bottomRightTileCoord.y; row){for (int col oldRightTileCoordX; col m_bottomRightTileCoord.x; --col){QGraphicsPixmapItem *item m_mapItems[row][col];m_scene-removeItem(item);m_mapItems[row].remove(col);delete item;}}}// 2、水平瓦片坐标控制判断最右侧瓦片是否完全进入视口、最左侧瓦片是否完全离开视口if (bottomRightViewPos.x() 255 w){int count qCeil((w - (bottomRightViewPos.x() 255)) / PIXMAP_SIZE); // 右侧进入视口瓦片数量int oldRightTileCoordX m_bottomRightTileCoord.x; // 保存原右侧瓦片坐标Xm_bottomRightTileCoord.x count; // 保存现右侧瓦片坐标X// 增加从右侧进入视口的图片for (int row m_topLeftTileCoord.y; row m_bottomRightTileCoord.y; row){for (int col m_bottomRightTileCoord.x; col oldRightTileCoordX; --col){QString fileName QString(%1/Map_%2-%3.png).arg(dirPath).arg(QString::number(row 1).rightJustified(2, 0)).arg(QString::number(col 1).rightJustified(2, 0));QPixmap pixmap(fileName);QGraphicsPixmapItem *item new QGraphicsPixmapItem(pixmap);item-setPos(PIXMAP_SIZE * col, PIXMAP_SIZE * row);m_scene-addItem(item);m_mapItems[row][col] item;}}}if (topLeftViewPos.x() 255 0){int count qFloor(fabs(topLeftViewPos.x()) / PIXMAP_SIZE); // 左侧离开视口瓦片数量int oldLeftTileCoordX m_topLeftTileCoord.x; // 保存原左侧瓦片坐标Xm_topLeftTileCoord.x count; // 保存现左侧瓦片坐标X// 删除从左侧离开视口的图片for (int row m_topLeftTileCoord.y; row m_bottomRightTileCoord.y; row){for (int col oldLeftTileCoordX; col m_topLeftTileCoord.x; col){QGraphicsPixmapItem *item m_mapItems[row][col];m_scene-removeItem(item);m_mapItems[row].remove(col);delete item;}}}// 3、垂直瓦片坐标控制判断最上侧瓦片是否完全进入视口最下侧瓦片是否完全离开视口if (topLeftViewPos.y() 0){int count qCeil(topLeftViewPos.y() / PIXMAP_SIZE); // 上侧进入视口瓦片数量int oldTopTileCoordY m_topLeftTileCoord.y; // 保存原上侧瓦片坐标Ym_topLeftTileCoord.y - count; // 保存现上侧瓦片坐标Y// 增加从上侧进入视口的图片for (int row m_topLeftTileCoord.y; row oldTopTileCoordY; row){for (int col m_topLeftTileCoord.x; col m_bottomRightTileCoord.x; col){QString fileName QString(%1/Map_%2-%3.png).arg(dirPath).arg(QString::number(row 1).rightJustified(2, 0)).arg(QString::number(col 1).rightJustified(2, 0));QPixmap pixmap(fileName);QGraphicsPixmapItem *item new QGraphicsPixmapItem(pixmap);item-setPos(PIXMAP_SIZE * col, PIXMAP_SIZE * row);m_scene-addItem(item);m_mapItems[row][col] item;}}}if (bottomRightViewPos.y() h){int count qFloor((bottomRightViewPos.y() - h) / PIXMAP_SIZE) 1; // 下侧离开视口瓦片数量int oldBottomTileCoordY m_bottomRightTileCoord.y; // 保存原下侧瓦片坐标Ym_bottomRightTileCoord.y - count; // 保存现下侧瓦片坐标Y// 删除从下侧离开视口的图片for (int row oldBottomTileCoordY; row m_bottomRightTileCoord.y; --row){for (int col m_topLeftTileCoord.x; col m_bottomRightTileCoord.x; col){QGraphicsPixmapItem *item m_mapItems[row][col];m_scene-removeItem(item);m_mapItems[row].remove(col);delete item;}}}// 4、垂直瓦片坐标控制判断最下侧瓦片是否完全进入视口最上侧瓦片是否完全离开视口if (bottomRightViewPos.y() 255 h){int count qCeil((h - (bottomRightViewPos.y() 255)) / PIXMAP_SIZE); // 下侧进入视口瓦片数量int oldBottomTileCoordY m_bottomRightTileCoord.y; // 保存原下侧瓦片坐标Ym_bottomRightTileCoord.y count; // 保存现下侧瓦片坐标Y// 增加从下侧进入视口的图片for (int row m_bottomRightTileCoord.y; row oldBottomTileCoordY; --row){for (int col m_topLeftTileCoord.x; col m_bottomRightTileCoord.x; col){QString fileName QString(%1/Map_%2-%3.png).arg(dirPath).arg(QString::number(row 1).rightJustified(2, 0)).arg(QString::number(col 1).rightJustified(2, 0));QPixmap pixmap(fileName);QGraphicsPixmapItem *item new QGraphicsPixmapItem(pixmap);item-setPos(PIXMAP_SIZE * col, PIXMAP_SIZE * row);m_scene-addItem(item);m_mapItems[row][col] item;}}}if (topLeftViewPos.y() 255 0){int count qFloor(fabs(topLeftViewPos.y()) / PIXMAP_SIZE); // 上侧离开视口瓦片数量int oldTopTileCoordY m_topLeftTileCoord.y; // 保存原上侧瓦片坐标Ym_topLeftTileCoord.y count; // 保存现上侧瓦片坐标Y// 删除从上侧离开视口的图片for (int row oldTopTileCoordY; row m_topLeftTileCoord.y; row){for (int col m_topLeftTileCoord.x; col m_bottomRightTileCoord.x; col){QGraphicsPixmapItem *item m_mapItems[row][col];m_scene-removeItem(item);m_mapItems[row].remove(col);delete item;}}} }
http://www.w-s-a.com/news/185729/

相关文章:

  • 怎么做网址导航网站沈阳高端做网站建设
  • 棋牌网站开发需要多少钱整网站代码 带数据 免费 下载
  • 网站建设 sql 模版猎头用什么网站做单
  • 河北保定建设工程信息网站wordpress 远程缓存
  • 手机网站开发之列表开发win7网站开发教程
  • 楚雄市住房和城乡建设局网站廊坊企业网站建设
  • 东莞规划局官方网站wordpress添加文章页不显示图片
  • 做企业网站要哪些人员百度商城网站建设
  • c语言软件开和网站开发区别多产品的网站怎么做seo
  • 收益网站制作移动互联网应用的使用情况表格
  • 专业的手机网站建设公司哪家好同城信息网站建设
  • 参与做网站的收获国外网站服务器建设
  • 西宁网站建设报价cu君博规范网站kv如何做
  • 毕业室内设计代做网站广东建设监理协会网站个人账号
  • 百度推广点击收费标准自己如何做网站优化
  • 安徽省建设监理网站广州澄网站建设公司
  • 做简历用什么网站俄罗斯搜索引擎浏览器官网入口
  • dw里响应式网站怎么做制作网站需要多少时间
  • 网站如何做双链路示范学校建设专题网站
  • 网站开发北京影视网站seo描述
  • 高端网站定制建设公司哪家好企业网络推广技巧
  • 建设公司网站的内容建筑设计图片
  • 用ps怎么做网站的效果图互联网营销师报名入口官网
  • 网站的后端怎么开发网站 白名单
  • 济宁中小企业网站建设wordpress爆破工具
  • 零基础网站建设视频商城系统平台有哪些
  • 那个网站做百科好过wordpress删除
  • 优化网站排名怎么制作网站建设数据库模板
  • 哪个建站软件比较好带论坛都有什么公司需要网站建设
  • 同城便民网站开发自己免费怎么制作网站吗