关于QGraphicsView中的图像平铺的问题
Question regarding image tiling in a QGraphicsView
这与我的另一个问题有关。
如果我通过创建一个单独的QGraphicsItem(使用光栅数据作为其像素图)来平铺大图像,我如何跟踪QGraphicsItems在场景中的位置?显然,对于光栅数据,保持所有瓷砖"接触"以形成连续图像是很重要的,而且它们也必须位于正确的位置,这样图像看起来就不会混乱。
每个瓦片都必须有定位方法,使其相对于上/左/下/右上的邻居移动吗?这看起来有点笨重。有没有更好的方法让他们一起行动?
换句话说,如果我用滚动条平移场景,或者拿起图像并在场景中拖动/移动它,我希望所有瓷砖也能移动并保持在彼此相对的正确位置。
控制布局、需要渲染哪些瓦片(即仅渲染可见的瓦片)以及只在需要时填充数据的最佳方法是什么?此外,一旦渲染了平铺,它的数据是否会从图像文件中删除并重新填充,比如说,如果它在视图之外停留了一段时间,然后如果有人平移到该部分,它会在稍后返回?
有(不止)两种方法可以做到这一点:
-
使用QGraphicsItemGroup处理互动程序项目的分组为你。它移动、选择、更新这是小组成员,就好像他们是一我从来没有用过,但从医生,它似乎适用于典型的应用程序。
-
在一个自定义项的paint()。这让您完全控制如何放置并绘制瓷砖,同时项目真正作为一个项目,因为它是一项。这就是我do.
相关文章:
- 使用FFMPEG将RGB图像序列保存到.mp4时出现问题
- 我在 OpenGL 中显示图像时遇到问题
- openCV c++中手动侵蚀图像的问题(二进制图像)
- 问题 (std::bad_alloc) 通过 QThread 中的 QSqlQuery 将大图像(约 36 MB)保存到
- CMake 的测试:找不到图像(可能的 rpath 问题)
- 加载带有stb_image的图像时出现问题
- 使用 ImageMagick 从像素强度数组创建灰度图像时遇到问题
- C :阅读位图图像的问题
- STB图像写问题
- 使用 qt 和 opengl、定时精度和垂直同步问题、c++ 显示图像
- 多模图像对齐问题
- 在 Python 中使用 OpenCV 将打包的 BGRA 图像缓冲区转换为 RGB 时遇到问题
- 滚动条缩略图跟踪长度 基于图像的水平适合调整窗口大小时出现问题
- 将颜色图像转换为OpenCV中的灰度问题
- C++:OpenCV扫描图像的性能问题
- SDL2图像到屏幕问题
- 通过套接字发送的图像流-服务器死锁问题
- 自定义图像格式的奇怪OpenCV问题
- 在c++中处理图像和像素值时出现问题
- 读取 ppm p6 图像完成时出现问题.C++