【问题标题】:Zoom image inside preview在预览中缩放图像
【发布时间】:2011-09-14 16:18:11
【问题描述】:

我正在编写一个可在 Mac 和 Win 上运行的 GUI 应用程序,但有一个小问题,我不知道如何解决。 在我的应用程序中,我有一个小的(250 x 250 像素)预览窗口(我们称之为 SW),其中放置了图像。图像可以比 SW 大得多。在某处我有一个滑块,它实现了 SW 内图像的缩放功能。我的主要问题是在这张图片上实现缩放功能。

输入时我有:

  • 源图片及其宽度和高度;
  • 查看图像 - 它是源图像的缩放副本;
  • 缩放图像的位置
  • 视口大小为 250 x 250 像素

它应该像放大图像处理程序一样工作。当我们更改缩放值时,图像相对于视口中心和其中图像的位置变得更小或更大。我们可以在视口内移动图像。 为了正确实现该问题,我们需要计算图像大小和视图内的位置。我已经写了一些实现图像大小修改的“算法”。 它看起来像:

float one = (source_original_size - thumbnail_size) / 100;
int bigger_side_size = qRound((100-value) * one) + thumbnail_size;

但我无法想象如何计算该缩放图像在场景中的位置。

有人可以帮我出主意吗?

如果很重要,我正在使用 Qt 框架和QGraphicsViewQGraphicsSceneQGraphicsPixmapItem

【问题讨论】:

    标签: c++ image qt zooming


    【解决方案1】:

    看看Image Viewer Example,它有一些你正在寻找的功能。

    【讨论】:

    • 谢谢,但我看到了,这是一个非常简单的例子。我需要缩放图像到它的视口中心。这是主要问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-26
    • 2014-06-15
    • 1970-01-01
    • 2015-12-05
    • 1970-01-01
    • 2015-12-14
    • 1970-01-01
    相关资源
    最近更新 更多