【问题标题】:Canvas Image resize / scew / dnd画布图像调整大小 / scew / dnd
【发布时间】:2013-06-03 19:18:50
【问题描述】:

我正在尝试构建一个人们可以上传图像的应用程序,并且我希望人们可以拖动图像的角落并使其变形。但我不知道从哪里开始,也找不到任何例子。

我在 Flash 中有一个例子:http://configurator.cando.eu/popup.html
- 点击“Cando Stijlkamer”
- 点击 6 个背景中的 1 个
- 在顶部选择第 2 步“Kies uw deur”
- 双击门,然后在底部再做一次。
- 现在您可以拖动角了。

示例图片:

有谁知道如何做到这一点?

更新
开始为 webGL 使用 ThreeJS,在我得到一个立方体的那一刻,可以使它透视、缩放和旋转它。但角落不会灵活。

更新 2
创建了一个带有可拖动角的自定义几何体。

【问题讨论】:

  • 做这样的实时失真效果看起来更像是 WebGL 的用例。
  • @Philipp:+1 表示远离画布或 svg,因为它们的 3x3 变换矩阵不支持非平行失真。
  • 就像@Philipp 说的那样,这是 WebGL 的事情。您的问题与以下内容相同:stackoverflow.com/questions/10660521/… 检查。
  • 我已经开始使用 ThreeJS,做了很多事情,除了几何,我需要在渲染时创建自己的几何吗?
  • @Niels 你能分享一个你的解决方案的例子吗?或者指出我正确的方向?我也在找一样的。

标签: javascript canvas three.js webgl


【解决方案1】:

我可以向您展示如何在 Flash 中轻松实现此效果。但是,如果您需要使用 HTML5,我建议您使用 https://github.com/edankwan/PerspectiveTransform.js 而不是 Canvas 元素。

【讨论】:

    猜你喜欢
    • 2011-05-09
    • 1970-01-01
    • 2012-08-27
    • 2017-04-22
    • 1970-01-01
    • 1970-01-01
    • 2017-04-29
    • 2011-01-19
    相关资源
    最近更新 更多