首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在JavaScript画布上自由变换矩形

问在JavaScript画布上自由变换矩形
EN

Stack Overflow用户
提问于 2013-06-26 01:29:50
回答 1查看 1.9K关注 0票数 1

我是JavaScript画布元素的新手。实际上我几个小时前才开始。我正在做一个图像矩形部分的自由变换。(有关我所说的“自由转换”的示例,请参阅以下内容:http://www.html5.jp/test/perspective_canvas/demo1_en.html。请注意,我不希望能够允许用户转换带有句柄的图像作为此示例的功能。)

我知道一些如何转换大图像的知识,但我只想转换图像的左半部分(例如)。我如何挑选出一个部分并自由转换它?我想我应该从加载图像开始。我还打赌解决方案会涉及到用路径标记左侧。但是setTransform()并没有给我所需要的控制。我希望有一个类似这样的函数:

代码语言:javascript
复制
function freeTransform(canvas, image,
  startX1, startY1, startX2, startY2, startX3, startY3, startX4, startY4,
  endX1, endY1, endX2, endY2, endX3, endY3, endX4, endY4)

但是画布的上下文没有这个功能(据我所知)。谁能给我指个方向?谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-26 03:10:28

你是对的。

html画布无法使用其公共2d上下文转换矩形的1个角。

你可以使用“三角剖分”在画布2d中使图像变形,使其具有透视效果:

http://tulrich.com/geekstuff/canvas/perspective.html

您可以使用canvas的3d上下文(webGL)更接近于透视转换。

您可以使用非并行变换在webGL中对图像进行变形,以使其具有透视效果:

http://games.greggman.com/game/webgl-3d-perspective/

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17303757

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档