index.html

<!DOCTYPE html>
<html>
<head>
<title>旋转的花</title>
<meta charset = "utf-8">
<!--width - 可视区域的宽度,值可为数字或关键词device-width -->
<!--height - viewport的高度-->
<!--initial-scale - 初始的缩放比例-->
<!--minimum-scale - 允许用户缩放到的最小比例-->
<!--maximum-scale - 允许用户缩放到的最大比例-->
<!--user-scalable - 用户是否可以手动缩放-->
<meta name = "viewport" content = "width = device-width, initial-scale = 1.0, maximum-scale = 1.0, user-scalable = 0" />
<!--content="telephone=yes" 在iPhone 手机上默认值是(电话号码显示为拨号的超链接):-->
<!--可将telephone=no,则手机号码不被显示为拨号链接-->
<!--使设备浏览网页时对数字不启用电话功能(不同设备解释不同,itouch点击数字为存入联系人,iphone为拨打电话),忽略将页面中的数字识别为电话号码。-->
<meta name="format-detection" content="telephone=no" />
<!--忽略识别邮箱-->
<meta name="format-detection" content="email=no" />
<!--网站开启对 web app 程序的支持-->
<meta name="apple-mobile-web-app-capable" content="yes">
<!--在 web app 应用下状态条(屏幕顶部条)的颜色;(改变顶部状态条的颜色)-->
<!--默认值为 default(白色),可以定为 black(黑色)和 black-translucent(灰色半透明);-->
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<!--http-equiv="Content-Type" 表示描述文档类型-->
<!--HTTP-EQUIV类似于HTTP的头部协议,它回应给浏览器一些有用的信息,以帮助正确和精确地显示网页内容-->
<meta http-equiv="Content-Type" content="text/html">
<!-- UC默认竖屏 ,UC强制全屏 -->
<meta name="full-screen" content="yes">
<!--使用了application这种应用模式后,页面讲默认全屏,禁止长按菜单,禁止收拾,标准排版,以及强制图片显示。-->
<!--应用模式-->
<meta name="browsermode" content="application">
<!-- QQ强制竖屏 QQ强制全屏 -->
<!--设置屏幕方向-->
<meta name="x5-orientation" content="portrait">
<!--设置全屏-->
<meta name="x5-fullscreen" content="true">
<!--设置屏幕模式-->
<meta name="x5-page-mode" content="app">
<!-- windows phone 点击无高光 -->
<meta name="msapplication-tap-highlight" content="no">
<link rel="stylesheet" href="./css/style.css">
<script src="http://cdn.static.runoob.com/libs/angular.js/1.4.6/angular.min.js"></script>
</head> <body>
<div ng-app="myApp" ng-controller="myCtrl">
<h1>{{lastname}} 家族成员:</h1>
<ul>
<li ng-repeat="x in names">{{x}} {{lastname}}</li>
</ul>
</div>
<div class="canvas">
<canvas id="id1" class="flower"></canvas>
<canvas id="id2" class="flower1"></canvas>
</div>
</body>
<script>
var app = angular.module('myApp', []).controller('myCtrl', function($scope, $rootScope) {
$scope.names = ["Emil", "Tobias", "Linus"];
$rootScope.lastname =$scope.names[$scope.names.length - 1];
});
</script>
<script src="./canvas.js"></script>
</html> style.scss 实现旋转
$color: #ccc;
$rotate_360: rotate(360deg);
$rotateX_360: rotateX(360deg);
$rotateY_360: rotateX(360deg);
$rotate_0: rotate(0deg);
$rotateX_0: rotateX(0deg);
$rotateY_0: rotateX(0deg); @function animation($title){
@return $title 8s linear infinite;
} @mixin prefix($property, $value){
-webkit-#{$property}: $value;
-moz-#{$property}: $value;
-o-#{$property}: $value;
#{$property}: $value;
} @mixin keyframes($animationName) {
@-webkit-keyframes #{$animationName} {
@content;
}
@-moz-keyframes #{$animationName} {
@content;
}
@-o-keyframes #{$animationName} {
@content;
}
@keyframes #{$animationName} {
@content;
}
} html{
height: 100%;
}
body {
height: 100%;
} .flower {
position: absolute;
@include prefix(animation, animation(myfirst));
} .flower1 {
position: relative;
  top: 0;
  left: 0;
@include prefix(animation, animation(myfirst1));
} @include keyframes(myfirst) {
100% {
@include prefix(transform, $rotate_360); }
0% {
@include prefix(transform, $rotate_0); }
} @include keyframes(myfirst1) {
100% {
@include prefix(transform, $rotate_0);
//@include prefix(transform, $rotateY_0);
}
0% {
@include prefix(transform, $rotate_360);
//@include prefix(transform, $rotateY_360);
}
} canvas.js 绘画花朵
var canvas;
var context;
function getDom(id){
canvas = document.getElementById(id);
canvas.width = document.documentElement.clientWidth;
canvas.height = document.documentElement.clientHeight - 300;
if(canvas == null){
return false;
}
context =canvas.getContext("2d");
}
(function flower(){
getDom('id1');
var Xo, Yo, A, B;
var n = 10;
context.lineWidth = 1;
Xo = canvas.width / 2;
Yo = canvas.height / 2;
console.log(Xo, Yo, 'Yo')
A = Yo * 0.75;
context.save();//保存当前绘制状态
//context.clearRect(0,0,width,height);//擦除之前绘制的图形
context.translate(Xo,Yo);//坐标原点移动到canvas元素中央
context.beginPath();//开始创建路径
for(B = 0; B < 6.5; B = B + 0.01) {
r = A * Math.sin(n * B);
x = r * Math.cos(B);
y = r * Math.sin(B);
context.fillStyle = "rgba(0,255,0,.25)";//设置填充颜色
context.lineTo(-x,-y);//绘制直线
context.fill();
}
context.closePath();//关闭路径 }
)(); (function flower1(){
getDom('id2');
var Xo, Yo, A, B;
var n = 10;
context.lineWidth = 1;
Xo = canvas.width / 2;
Yo = canvas.height / 2;
A = Yo * 0.45;
context.save();//保存当前绘制状态
//context.clearRect(0,0,width,height);//擦除之前绘制的图形
context.translate(Xo,Yo);//坐标原点移动到canvas元素中央
context.beginPath();//开始创建路径
for(B = 0; B < 6.5; B = B + 0.01) {
r = A * Math.sin(n * B) * Math.exp(-B / (20));
x = r * Math.cos(B);
y = r * Math.sin(B);
context.fillStyle = "rgba(255,0,0,.25)";//设置填充颜色
context.lineTo(-x,-y);//绘制直线
context.fill();
}
context.closePath();//关闭路径
}
)()
 

canvars 画花的更多相关文章

  1. 用python程序来画花

    from turtle import * import time setup(600,800,0,0) speed(0) penup() seth(90) fd(340) seth(0) pendow ...

  2. python turtle画花

    turtle是一个功能强调大的绘图的库,可以用来绘制各种所需要的图案,但是在使用时需要计算好角度等一系列的问题. 代码(源自<Python语言程序设计>)如下: 运行结果:

  3. MTK平台如何定位显示花屏和界面错乱等绘制异常的问题?

    [DESCRIPTION] 在测试手机各项功能过程中,经常会遇到概率性复现“屏幕画花了,界面画错乱了等绘制异常问题”,而且概率还非常小: 这类问题请不要直接提交eService,而是先请测试人员及工程 ...

  4. 画一个心送给心爱的小姐姐,Python绘图库Turtle

    Python绘图库Turtle Turtle介绍 Turtle是Python内嵌的绘制线.圆以及其他形状(包括文本)的图形模块. 一个Turtle实际上是一个对象,在导入Turtle模块时,就创建了对 ...

  5. 游戏制作之路:一个对我来说可实现的High-end的Mac/iOS游戏制作大概计划

    对于学习一些东西,我比较习惯任务驱动式的学习,也就是说,要事先订好一个目标,要做什么东西,达到什么效果,然后根据自己了解的知识作一个可以实现这个目标的计划. 现在要学的是游戏制作,而且是High-en ...

  6. 水溶彩铅的特点&技法运用

    工欲善其事必先利其器!亲爱的同学们都准备好画笔了吗?今天,助助为同学们介绍一下水溶性彩色铅笔的特点,技法运用的基本教程,请仔细看哟! [水溶性彩色铅笔的特点] 能够同时画出像铅笔一样的线条和水彩一样的 ...

  7. 大学写作期中作业--霸天黄小o

    霸天黄小o 百无聊赖之中,小o又回想起了它当初的辉煌时刻. 那是凤儿凰自行车厂的又一次大规模交货.虽然其实在500万的订单下,一批又一批的交货几乎是连着的. 但这并不影响小o和与它一届的同学们的意气风 ...

  8. 笨重的mfc还在基于系统控件,熟练的mfc工程师还比不过学习Qt一个月的学生开发效率高(比较精彩,韦易笑)

    作者:韦易笑链接:https://www.zhihu.com/question/29636221/answer/45102191来源:知乎著作权归作者所有,转载请联系作者获得授权. 更新:擦,本来只有 ...

  9. Python Turtle模块的简单应用

    时钟 import turtle as t import datetime as dt #画出背景 game = t.Screen() game.bgcolor("white") ...

随机推荐

  1. IntelliJ IDEA 2017版 使用笔记(十一) Debug操作:IDEA 快捷键

    调试功能;            缩短项目时间,调高阅读源码的能力.   一.添加断点,选中一行代码,双击即可生成断点(快捷键:ctrl+F8)                二.单步运行,快捷键:s ...

  2. 关于DOM级别的一些问题,DOM0,DOM1,DOM2

    之前看书没太注意这个问题,直到我今天看书看到一个DOM0级,于是我就在群里问了下各个级别的意思区别.. 首先我们的确定标准了是没有DOM0级的.在平时阅读的时候可能会读到DOM0级(DOM Level ...

  3. highChart图表

    Highcharts 是一个用纯JavaScript编写的一个图表库, 能够很简单便捷的在web网站或是web应用程序添加有交互性的图表,并且免费提供给个人学习.个人网站和非商业用途使用.HighCh ...

  4. 解决普通用户sudo时出现/usr/bin/sudo must be owned by uid 0 and have the setuid bit set

    一:因为之前误操作使用sudo chmod -R 777 /usr命令修改了usr文件的所有者导致了此问题: 二:网上说需要进入recovery mode,经过自己的测试是不需要的: 三:步骤(只需登 ...

  5. HDOJ1024--Max Sum Plus Plus(动态规划)UnSolved

    Now I think you have got an AC in Ignatius.L's "Max Sum" problem. To be a brave ACMer, we ...

  6. STL容器-- forward_list 用法

    http://www.cplusplus.com/reference/forward_list/

  7. ubuntu apache linux

    在ubuntu下安装的apache, 很多配置文件都分开写了,需要了解一下各部分: http://blog.csdn.net/veizz/article/details/7410784 Ubuntu下 ...

  8. 冲刺博客NO.1

    今天小组开了一个会议来对APP进行模块分析,从客户需求 隐私问题到  界面设计大致定了一个方向并分工. 做的内容:对自己负责的模块进行了粗略的划分和认识,学会了如何页面跳转. 我负责的是登录界面,主界 ...

  9. AngularJs 指令中 的Scope属性

    一.概念说明 可以是true. false .哈希对象 {} 1.true 新创建了一个作用域,且继承了父作用域:在初始化的时候,用了父作用域的属性和方法去填充我们这个新的作用域.它和父作用域不是同一 ...

  10. ElementTriArgyris

    class ElementTriArgyris(ElementH2): nodal_dofs = 6 facet_dofs = 1 dim = 2 maxdeg = 5 def gdof(self, ...