HTML5 Canvas 描画旋转45度佛教万字

效果如下:

代码如下:

<!DOCTYPE html>
<html lang="utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<head>
     <title>旋转45度佛教万字</title>
    </head>

     <body onload="draw()">
        <canvas id="myCanvus" width="400px" height="400px" style="border:1px dashed black;">
            出现文字表示你的浏览器不支持HTML5
        </canvas>
     </body>
</html>
<script type="text/javascript">
<!--
    function draw(){
        var canvas=document.getElementById("myCanvus");
        var context=canvas.getContext("2d");

        context.fillStyle = "red";
        context.fillRect(0, 0, 400, 400);
        context.translate(200,305);
        context.rotate(Math.PI/4);

        context.fillRect(-200, -200, 250, 250);

        context.fillStyle = "black";// 填充黑色

        context.translate(-200,-200);

        context.fillRect(0, 0, 50, 150);// 填充矩形,参数分别为横坐标,纵坐标,宽高
        context.fillRect(49, 100, 200, 50);
        context.fillRect(200, 149, 50, 100);// 注意位置微调了,如果卡在零界点上会有背景的红线残留

        context.fillRect(100, 0, 150, 50);
        context.fillRect(100, 49, 50, 200);// 注意位置微调了,如果卡在临界点上会有背景的红线残留
        context.fillRect(0, 200, 101, 50);

        context.strokeStyle = "yellow";// 描边黄色
        context.strokeRect(50, 0, 50, 100);// 描边,参数分别为横坐标,纵坐标,宽高
        context.strokeRect(150, 50, 100, 50);
        context.strokeRect(0, 150, 100, 50);
        context.strokeRect(150, 150, 50, 100);
        context.strokeRect(0, 0, 250, 250);

       context.fillStyle = "red";// 用红色矩形块抹去多余的黄边
       context.fillRect(51, -2, 48, 100);// 注意起点和宽度都微调了,如果卡在临界点上会有细细的黄线残留
       context.fillRect(151, 51, 101, 48);
       context.fillRect(151, 151, 48, 101);
       context.fillRect(-2, 151, 100, 48);
    }
//-->
</script>
时间: 2024-10-12 21:56:23

HTML5 Canvas 描画旋转45度佛教万字的相关文章

HTML5 Canvas 描画佛教万字

代码如下: <!DOCTYPE html> <html lang="utf-8"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <head> <title>佛教万字</title> </head> <body onload="draw()">

HTML5 Canvas 描画六叶草

注意: context.arc(横坐标,纵坐标,弧半径,起始角度,终止角度,逆顺时针);这个函数挺难用,主要原因是最后参数和角度的关系.不管文档怎么说,按我的实际经验,逆顺时针=false时,是逆时针旋转:逆顺时针=true时,是顺时针旋转.搞清楚这个,再来看角度.看下面语句: context.arc(x,y,r,getRad(60),getRad(120),false);这句话意思是以x,y为圆心,半径r画弧,逆时针转60度为起始点,逆时针转120度为终止点.另外逆顺时针不要换来换去,坚持习惯

java将矩阵旋转45度输出

例如: A B C D E F G H I J K L M N O P Q R S T U V W X Y E D J C I O B H N T A G M S Y F L R X K Q W P V U 思路如上图: 在菱形之外的都是空格,菱形之内(可以使用函数判断)有两种点,一种是有字符,一种是空格 可以发现,有字符的位置(col-row)%2 == 0:接下来寻找45度菱形和矩形的对应关系,row'=(col-row)/2 ,col'=col-row' 完整代码如下: public cl

HTML5 Canvas 描画太极图

代码: <!DOCTYPE html> <html lang="utf-8"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <head> <title>太极图</title> </head> <body onload="draw()"> &

HTML5 Canvas 描画星条旗

代码: <!DOCTYPE html> <html lang="utf-8"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <head> <title>美国国旗</title> </head> <body onload="draw()">

HTML5 Canvas 描画五星红旗

代码: <!DOCTYPE html> <html lang="utf-8"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <head> <title>五星红旗</title> </head> <body onload="draw()">

按钮旋转45度然后复原

//默认没旋转 open=NO; if (open==YES) {            [UIView animateWithDuration:0.03 delay:0 options:UIViewAnimationOptionCurveLinear animations:^{                btn1.transform = CGAffineTransformIdentity;            } completion:^(BOOL finished) {        

2014年美团校招之——二维数组逆时针旋转45度后打印

思路: 沿着斜线打印即可. public void print_rotate_matrix(int[] matrix , int n){ if(n<0||matrix==null||matrix.length==0) return; //打印右上角 for(int i = n-1; i>=0 ; i--){ int j = i; while((j+1)%n!=0) { System.out.print(matrix[j]+" "); j+=(n+1); } System.o

HTML5 canvas学习小例代码

1.HTML5中的Canvas标签的创建 window.onload = function(){ createCanvas(); } function createCanvas(){ var canvas_width= 200, canvas_height = 200; document.body.innerHTML = "<canvas id=\"canvas\" width=\""+canvas_width+"\" heigh