`
murener
  • 浏览: 16945 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

canvas中的rotate使用

 
阅读更多
rotate 用于旋转canvas画布,以canvas的原点为中心进行旋转.如果想改变canvas的原点位置,可以使用translate进行修改

如下所示
var cxt=canvas.getContext("2d");
cxt.fillStyle="rgb(250,0,0)";
cxt.fillRect(0,0,20,50);
cxt.translate(100,100);   
for(var i=0;i<12;++i)
{
   cxt.rotate(Math.PI/6); //旋转30度,其中Math.PI表示为180度  
   cxt.fillRect(0,0,20,50);
}

上面的示例为旋转30度画一个20,50的红色矩形
translate(100,100),将canvas的原点转移到坐标为(100,100),相当于canvas的(0,0)坐标在(100,100)坐标位置上,我们只需要将(100,100)看成是canvas的原点坐标就行了。。
rotate旋转,是以x轴进行旋转的,正数为顺时针,负数为逆时针旋转。切记,在旋转后,图形的x,y值是以旋转后的x,y进行定义的。


附件为示例的效果
  • 大小: 4.2 KB
分享到:
评论
1 楼 liang仔 2017-03-06  
每次旋转都是基于上一次旋转的度数进行。这就好烦  

相关推荐

    html5 canvas中文文档

    可以通过`drawImage()`方法将一个Canvas的内容绘制到另一个Canvas中。 - **创建新图片** 使用`new Image()`创建一个新的图片对象,然后加载图片。 ```javascript var img = new Image(); img.src = 'image.jpg...

    canvas 中的元素旋转和移动

    本教程将详细介绍如何在Canvas中使用Vue.js实现元素的旋转、移动、缩放以及画点连线功能。 首先,我们需要在Vue组件中设置一个Canvas元素,并在`mounted`生命周期钩子中获取到它的`2D渲染上下文`(`canvas....

    Canvas之translate、scale、rotate、skew方法讲解!

    在HTML5中,Canvas元素提供了一个强大的图形绘制接口,允许开发者动态创建和修改二维图形。在Canvas上进行绘图时,我们经常会用到几...熟练掌握这些方法的使用,将极大地提升你在HTML5 Canvas开发中的创造力和表现力。

    canvas 绘制会动的钟表

    为了在布局中使用这个自定义的钟表View,你需要在XML布局文件中添加如下代码: ```xml android:layout_width="match_parent" android:layout_height="wrap_content" /&gt; ``` 请记得替换`...

    使用canvas画线,位移,旋转,绘制五角星。

    在Android开发中,Canvas是用于在屏幕上绘制2D图形的重要工具。这个教程将带你了解如何利用Canvas进行基本的绘图操作,包括画线、位移和旋转,以及如何巧妙地绘制出五角星图案。无需复杂的数学计算,只需理解Canvas...

    canvas图片旋转自适应容器宽度实践

    本实践主要探讨的是如何使用Canvas实现图片的旋转,并在每次旋转90度后自动调整宽度以适应容器,保持等比缩放,确保图片不失真。 首先,我们需要在HTML中创建一个`&lt;canvas&gt;`元素,并设置其宽度和高度,以及关联一个...

    手把手地教你怎么用canvas的rotate做出类似太阳系的嵌套运动

    需要运用到的关于canvas的一些代码 save()方法把当前状态的一份拷贝压入到一个保存图像状态的栈中。这就允许您临时地改变图像状态,然后,通过调用 restore() 来恢复以前的值。 可是要注意,当前路径和当前位置...

    Android下使用Canvas画图

    - 在View的`onDraw()`方法中,系统会提供一个Canvas实例,可以直接使用。 3. **绘制基本元素** - `drawPoint()`: 绘制单个点。 - `drawPoints()`: 绘制多个点。 - `drawLine()`: 绘制直线。 - `drawRect()`: ...

    重写viewgroup 使用canvas实现动画

    canvas.rotate(rotateAngle, 0, 0); // rotateAngle为当前旋转角度 // 遍历并绘制所有子视图 for (int i = 0; i (); i++) { View child = getChildAt(i); child.draw(canvas); } // 恢复Canvas状态 canvas...

    Android canvas.save()和canvas.restore()的理解

    在本文中,我们将深入理解这两个方法的作用以及如何在实际应用中使用它们。 首先,`canvas.save()`方法用于保存当前`Canvas`的状态。这个状态包括当前的变换矩阵(matrix)、剪裁区域(clip region)以及绘图样式...

    使用HTML5 canvas 标签进行图片裁剪、旋转、缩放示例代码

    在canvas上旋转图片,我们可以使用`rotate`方法。首先,我们需要确定旋转的角度(以弧度为单位),然后调用`rotate`方法: ```javascript ctx.save(); // 保存当前状态 ctx.translate(canvas.width / 2, canvas....

    canvas 原位置旋转图片

    在这个函数中,我们将使用`translate`和`rotate`方法来移动和旋转图片: ```javascript function drawImageRotated(img) { const centerX = canvas.width / 2; const centerY = canvas.height / 2; // 使用...

    使用canvas实现的图片编辑库及使用案例

    在"fabric.js-master"压缩包中,包含了Fabric.js的源码和相关文档,你可以直接引用或下载到项目中使用。 1. **导入图片**: Fabric.js提供了一个方便的方法`fabric.Image.fromURL`,可以将图片URL转换为可操作的...

    Canvas实现文字云(标签云)效果,多浏览器支持

    在`draw()`方法中,使用`context.font`设置字体大小,`context.fillStyle`设置颜色,然后调用`context.fillText(word.text, x, y)`来绘制单词,并通过`context.rotate(angle)`旋转画布。 最后,`animate()`方法可以...

    html5-canvas-3d-earth-rotate.zip

    在压缩包中的"html5-canvas-3d-earth-rotate.rar"文件可能包含HTML、CSS、JavaScript文件,以及可能用于纹理的图片资源。开发者可以通过研究这些文件来了解具体实现细节,如如何加载地球纹理、如何计算旋转矩阵、...

    使用canvas绘制花朵

    使用canvas绘制花朵 &lt;canvas id="flowerCanvas" width="600" height="600"&gt;&lt;/canvas&gt; &lt;script src="drawFlower.js"&gt;&lt;/script&gt; ``` 接下来,我们将在`drawFlower.js`文件中编写JavaScript代码。首先,获取到...

    安卓绘图 canvas 绘图 平移缩放

    在Android平台上,Canvas是用于图形绘制的核心类,它提供了丰富的绘图操作,如画线、矩形、圆形、文本以及图像等。...在实际项目中,可以根据需求结合其他方法,如rotate()和skew(),实现更复杂的图形变换。

    Android Canvas画布使用Demo源码.rar

    这个"Android Canvas画布使用Demo源码.rar"压缩包很可能是为了展示如何在实际项目中利用Canvas来创建自定义视图或者进行复杂的图形渲染。下面我们将详细探讨Android Canvas的使用方法以及相关知识点。 1. **Canvas...

    canvas画箭头

    在这个“canvas画箭头”的示例中,我们将深入探讨如何使用canvas API来绘制箭头,以及相关的一些JavaScript和HTML知识。 首先,我们需要在HTML文件中设置一个`canvas`元素,例如在`test.html`中: ```html &lt;!...

    node + canvas 例子

    首先,要使用Node.js中的Canvas,我们需要安装`canvas`这个npm模块。`canvas`库为Node.js提供了一个封装了HTML5 Canvas API的接口,使得我们能在服务器端使用类似于前端的绘图方式。安装命令如下: ```bash npm ...

Global site tag (gtag.js) - Google Analytics