相关疑难解决方法(0)

具有角度的HTML5画布drawImage

我正在尝试动画,<canvas>并且无法确定如何以一定角度绘制图像.期望的效果是像往常一样绘制的一些图像,其中一个图像缓慢旋转.(如果这有任何区别,则此图像不在屏幕的中心).

javascript html5 drawimage

31
推荐指数
3
解决办法
4万
查看次数

画布从底部中心图像角度旋转?

如何使用画布html5元素从底部中心角度旋转图像?

<html>
    <head>
        <title>test</title>
        <script type="text/javascript">
            function startup() {
                var canvas = document.getElementById('canvas');
                var ctx = canvas.getContext('2d');
                var img = new Image();
                img.src = 'player.gif';
                img.onload = function() {
                    ctx.translate(185, 185);
                    ctx.rotate(90 * Math.PI / 180);
                    ctx.drawImage(img, 0, 0, 64, 120);
                }
            }
        </script>
    </head>
    <body onload='startup();'>
        <canvas id="canvas" style="position: absolute; left: 300px; top: 300px;" width="800" height="800"></canvas>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

不幸的是,这似乎是从图像的左上角旋转它.任何的想法?

编辑:最后,对象(太空飞船)必须像时钟指针一样旋转,就像它向右/向左转.

javascript html5 canvas rotation

14
推荐指数
1
解决办法
3万
查看次数

SVG的免费转换插件 - 创建占位符元素

我正在尝试创建html5拼贴编辑器,您可以在其中编辑图像,类似于您在Word中看到的图像(裁剪图像而不是在拖动边缘时缩放图像,能够在自由变换区域内拖动/旋转/缩放图像(所以一种占位符功能)等).这意味着我们需要使用SVG和剪切/屏蔽,以及自由变换元素与那些掩码/剪辑的绑定位置.之后生成的整个SVG应该可以根据打印尺寸进行扩展(但这不是问题).

这个想法很简单 -

  1. 使用已经制作的jQuery Free Transform插件 - https://github.com/gthmb/jquery-free-transform
  2. 将它的控制区域转换绑定到SVG掩码

问题:即使转换后的SVG蒙版具有FT div的转换和位置的精确副本,当转换包含旋转时,它也会很奇怪.看起来像变换 - 原点不起作用,旋转和缩放以某种方式连接到左上角而不是中心,不知道为什么:/

这是一个小提琴,只是尝试旋转元素,你会看到问题是什么:

小提琴 (已经制作的svg的简化代码)

主要部分:

var refreshSVGMask = function(){

//get element transform
var elTransform = $('#ft').css("transform");

//quick parse of matrix transform:
var elMatrix = elTransform.substring(elTransform.indexOf("matrix") + 7, elTransform.indexOf(")"));

//modify matrix, to apply last two values (top and left position), which in jquery free transform are in "top" and "left" css attributes. Note - I've also tried applying same matrix, but changing "x" and "y" attributes in SVG (like: …
Run Code Online (Sandbox Code Playgroud)

javascript jquery svg transform css-transforms

12
推荐指数
1
解决办法
1223
查看次数

7
推荐指数
4
解决办法
8万
查看次数

使用坐标以编程方式旋转形状

如果我有一些使用坐标数组定义的形状,例如

[[-30, -30], [-30, 30], [30, 30], [30, -30]]
Run Code Online (Sandbox Code Playgroud)

和边缘定义使用:

[[0,1],[0,3],[1,2],[2,3]]
Run Code Online (Sandbox Code Playgroud)

做一个正方形。

如何以编程方式告诉形状在javascript中以0-> 359的角度在中心旋转*?

*或者更好的是,是否有允许我选择旋转中心的功能?

** 目前,我已经设法使用以下方法将画布圈成圆形:

var x_rotate = Math.sin(angle * Math.PI /180);
var y_rotate = Math.cos(angle * Math.PI /180);

// for each coordinate
//add x_rotate and y_rotate if coordinate > 0 or subtract if coordinate < 0 
Run Code Online (Sandbox Code Playgroud)

javascript canvas rotation shapes programmatically

1
推荐指数
1
解决办法
1318
查看次数