绘图程序通用缩放算法

2024-06-26

我的 GUI 工具包 wxPython 提供了一些实现用户缩放系数的方法,但是质量不太好。我正在寻找有关如何创建缩放功能的想法,我知道这很复杂。

我有一个代表我绘制的画布的位图。这显示在滚动窗口内。

我预见到的问题: - 放大和平移画布时的性能 -“真实”坐标和放大坐标的困难 - 图像质量不会因变焦而降低

在其设备上下文中使用 wxPython 的 SetUserScale() 呈现图像质量像这样 http://img217.imageshack.us/img217/130/screenshot9l.png- 这是一条 1 像素线,放大 30%。

我只是想知道我需要采取的一般步骤以及我将遇到的挑战。感谢您的任何建议


您可以使用 OpenGL 渲染场景。您可以进行硬件缩放和平移,这可能会非常快。 OpenGL 中也提供了各种平滑滤镜,如果您想要自定义滤镜,可以使用 GLSL。

如果您想手动执行操作,请查看双线性插值 http://en.wikipedia.org/wiki/Bilinear_interpolation and 双三次插值 http://en.wikipedia.org/wiki/Bicubic_interpolation.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

绘图程序通用缩放算法 的相关文章

  • 如何放大特定点(没有画布)?

    目标很简单 使用鼠标滚轮放大特定点 鼠标所在的位置 这意味着缩放后 鼠标将位于图片的大致相同位置 Purely illustrative I don t care if you use dolphins ducks or madonna f
  • 如何在 Cocoa AppKit 应用程序中实现缩放/缩放

    如何在 Cocoa AppKit 应用程序中实现缩放 缩放 即不最大化窗口 而是缩放窗口及其所有子视图 我认为它在 iOS 中称为 zoomScale 可以使用 Core Animations 或 Quartz 2D 来完成吗 例如CGCo
  • 在 pygame 物理模拟中添加 wxPython GUI 元素

    我做了一个pygame物理模拟 抛射运动 但它缺乏交互性 比如接受发射角度 速度等 我想添加带有增加 减少箭头的输入框 但不知道如何去做 谢谢您的帮助 也许你可以尝试PGU http www pygame org project 108 菲
  • d3 v5 轴比例改变平移方式太多

    我有一个以时间为 X 轴的简单图表 预期的行为是 在图表中拖动时 X 轴只会平移以显示数据的其他部分 为了方便起见 由于我的 X 轴位于反应组件中 因此创建图表的函数将 X 比例 x 轴及其附加到的元素设置为this xScale this
  • Python GUI 在整个过程完成之前不会更新

    我有一个进程从目录中获取文件并将它们放入列表中 然后它循环迭代该列表 循环的最后一行是它应该更新我的 gui 显示的位置 然后它再次从列表中的下一项开始循环 我的问题是 在整个过程完成之前 它实际上不会更新 gui 这取决于列表的大小 可能
  • 跟随画布光标的放大镜

    我正在为我的客户设计 T 恤 我使用 html5 canvas 制作了它 衬衫设计师现在已经完成了 但他要求我添加一个放大镜 如下所示 http mlens musings it http mlens musings it 我发现了很多类似
  • 调用app.MainLoop()后更新wxPython进度条

    我有一个执行计算的 python 脚本 并且我已经为弹出 wxPython 进度条创建了一个类 目前我有 app wx App progress ProgressBar app MainLoop for i in xrange len to
  • 使用 matplotlib 在 wxpython 面板中组合按键和鼠标按钮事件

    In a wxPython我想使用的面板matplotlib s Lasso http matplotlib org api widgets api html highlight lasso matplotlib widgets Lasso
  • 使用 Javascript、Jquery 或 HTML5 Canvas 进行无限缩放

    我见过这个 宇宙的规模2 http htwins net scale2 我只是想知道这是否可以使用 javascript 或 jQuery 或 HTML5 Canvas 来完成 如果您单击一个项目 例如 人类 它旁边会弹出一条信息 我在这里
  • 应用程序的外观 - Py2exe / wxPython

    所以我的问题是我的应用程序的外观和感觉 因为它看起来像一个旧的外观应用程序 它是一个 wxPython 应用程序 在 python 上它运行良好并且看起来不错 但是当我使用 py2exe 将其转换为 exe 时 外观很糟糕 现在我知道如果你
  • 在保存对话框wxpython中实现“另存为”

    我有一个保存例程 应通过以下方式提示用户 如果当前选择的文件名存在 则提示覆盖 如果当前选择的文件名为空 即 则设置一个对话框要求用户插入文件名 如果当前选择的文件名不存在 则保存 我的代码目前如下所示 但我觉得应该有更好的方法来做到这一点
  • iPhone CGContext:用两种不同颜色绘制两条线

    我在 iPhone 应用程序中使用 CGContext 时遇到一些问题 我试图用不同的颜色绘制几条线 但所有线最终总是具有最后使用的颜色 我尝试了几种方法 但并不幸运 我建立了一个小型示例项目来处理这个问题 这是我的代码 我在drawRec
  • 你如何在react-native中实现捏合缩放?

    我一直在研究 PanResponder 我当前的工作假设是 我将检测是否有两个触摸正在向外移动 如果是 则增加元素大小onPanResponderMove功能 这似乎是一种混乱的方法 有没有更顺畅的方法呢 如果您只需要简单的捏缩放功能 只需
  • 为什么在 Windows 中缩放 WPF 应用程序时会看到像素?

    我使用 WPF 为随机应用程序开发了一个 GUI 我在应用程序窗口上放置了一堆开箱即用的 WPF 控件 我没有定制任何东西 没有使用位图等 在 Windows 7 中运行我的应用程序并使用放大镜应用程序进行缩放时 Win key Plus
  • 是否有一个类可以获取应用程序中的默认图片查看器?

    我不想访问 iPhone 上的图像 我想显示我的应用程序中的图像 但就像您查看 iPhone 相册中的图片一样 使用所有捏合和缩放控件等 这可能吗 我认为可能 偶然 有像 AVMediaPlayer 类这样的类可以做到这一点 谢谢 汤姆 如
  • MATLAB - 如何将子图一起缩放?

    我在一张图中有多个子图 每个图的 X 轴是相同的变量 时间 每个图上的 Y 轴都不同 无论是它所代表的内容还是数据的大小 我想要一种同时放大所有图的时间尺度的方法 理想情况下 可以在其中一张图上使用矩形缩放工具 并让其他图相应地更改其 X
  • 将画布缩放到鼠标光标

    我正在编写一个 HTML5 项目 其中涉及使用滚轮放大和缩小图像 我想像谷歌地图一样缩放光标 但我完全不知道如何计算移动 我所拥有的 图像x和y 左上角 图像宽度和高度 光标 x 和 y 相对于画布中心 简而言之 你想要translate
  • 缩放事件侦听器之前的 Javascript OpenLayers

    我正在尝试将 OpenLayers 设置为在缩放开始之前不显示矢量图层 并使其在缩放结束后重新出现 我已经像这样建立了缩放结束部分 map new OpenLayers Map map element eventListeners zoom
  • Libgdx SpriteBatch.draw() 指定 4 个顶点

    我正在使用 libGdx 创建一个 2d 游戏 并尝试使用这个特殊的方法来绘制一个简单的 2d 纹理 分别指定 4 个顶点 draw Texture texture float spriteVertices int offset int l
  • 有没有一种方法可以使页面布局在 100% 缩放下完美契合,同时又尊重更大的缩放系数?

    有多种方法可以布局网页 使其适合浏览器视口 DOMwindow 当我说 适合 时 我包括更改所用字体的大小 更改 DIV IMG 和其他渲染元素的宽度和高度 以及允许元素 流畅 移动 目标是使页面在所有显示设备 从小型手机到大桌面屏幕 上看

随机推荐