使用javascript和canvas画月半弯
使用javascript和canvas画月半弯,月半弯好浪漫!浏览器须支持html5
查看效果:http://keleyi.com/a/bjad/8xqdm0r2.htm
以下是代码:
<!doctype html>
<html>
<head>
<title>使用javascript和canvas画月半弯-柯乐义</title>
<style>
canvas{display: block;border:1px dotted skyblue;}
</style>
</head>
<body>
<h1>使用javascript和canvas画月半弯·柯乐义</h1>
<canvas id="canvas-keleyi-com" width="500" height="400"></canvas>
<script>
var nimo = {};
window.onload = function () {
nimo.canvas = document.getElementById('canvas-ke'+'leyi-com');
nimo.context = nimo.canvas.getContext('2d');
nimo.starBgImg = new Image();
nimo.starBgImg.src = 'http://keleyi.com/keleyi/phtml/html5/22/star-bg.jpg';
nimo.starBgImg.onload = function () {
//填充星星背景
nimo.statBg = nimo.context.createPattern(nimo.starBgImg, 'repeat')
nimo.context.rect(0, 0, nimo.canvas.width, nimo.canvas.height);
nimo.context.fillStyle = nimo.statBg;
nimo.context.fill();
//绘制月亮轮廓
nimo.context.beginPath();
nimo.context.arc(200, 200, 100, 0.6 * Math.PI, 1.3 * Math.PI);
nimo.context.bezierCurveTo(140, 119, 93, 224, 169, 295)
//填充月亮轮廓和设置投影
nimo.context.shadowColor = "blue";
nimo.context.shadowBlur = 3;
nimo.context.strokeStyle = "blue";
nimo.context.stroke();
//填充放射渐变给月亮
nimo.radialGradient = nimo.context.createRadialGradient(150, 200, 0, 150, 200, 50);
nimo.radialGradient.addColorStop(0, 'white')
nimo.radialGradient.addColorStop(1, '#999')
nimo.context.fillStyle = nimo.radialGradient;
nimo.context.fill()
//绘制月亮的研究和嘴巴
nimo.context.shadowColor = "white";
nimo.context.beginPath();
nimo.context.moveTo(110, 173);
nimo.context.lineTo(114, 173);
nimo.context.moveTo(119, 173);
nimo.context.lineTo(123, 173);
nimo.context.stroke();
nimo.context.beginPath();
nimo.context.arc(116, 183, 2, 0, 2 * Math.PI);
nimo.context.stroke();
nimo.context.shadowColor = 'transparent';
nimo.context.font = "15px 微软雅黑"
nimo.context.fillText('您好,我是月亮,祝您的美梦像星星一样永恒!', 100, 100)//设置文字及在图片上的位置
}
}
</script>
</body>
</html>
web前端:http://www.cnblogs.com/jihua/p/webfront.html
使用javascript和canvas画月半弯的更多相关文章
- javascript的canvas绘图的基本用法
<canvas>是HTML里面非常强大的元素,利用它结合js可以实现很多动画效果,大大增强交互性.下面,我想用图文并茂的方式阐述一下canvas的绘图机制的基础内容,话不多说,先上代码: ...
- JavaScript之canvas
num.push(x,y); 动画草图(举个栗子,我们把数字“2”给画出来): <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transit ...
- 月半小夜曲下的畅想--DOCTYPE模式
月半小夜曲下的畅想--DOCTYPE模式 @(css3 box-sizing)[doctype声明|quirks模式|妙瞳] DOCTYPE文档类型标签,该标签是将特定的标准通用标记语言或者XML文档 ...
- HTML5 Canvas画数字时钟
先不说废话,没代码算个蛋. 一些地方注释都写得比较清楚,不过这只是部分,因为只有秒针,但是时针,分针的逻辑都是一致的. 代码中有些坐标不知道为什么较不准,看看就好
- Canvas画椭圆的方法
虽然标题是画椭圆,但是我们先来说说Canvas中的圆 相信大家对于Canvas画圆都不陌生 oGC.arc(400, 300, 100, 0, 2*Math.PI, false); 如上所示,直接 ...
- JavaScript+html5 canvas实现本地截图教程
这篇文章主要介绍了JavaScript+html5 canvas实现本地截图教程,对截图功能感兴趣的小伙伴们可以参考一下 最近有时间了解了下html5的各API,发现新浪微博的头像设置是使用canva ...
- HTML5之Canvas画圆形
HTML5之Canvas画圆形 1.设计源码 <!DOCTYPE html> <head> <meta charset="utf-8" /> & ...
- HTML5之Canvas画正方形
HTML5之Canvas画正方形 1.设计源码 <!DOCTYPE html> <head> <meta charset="utf-8" /> ...
- 初探Javascript之Canvas
什么是Canvas <canvas>是 HTML5 新增的元素,可使用JavaScript脚本来绘制图形. canvas是一个矩形区域,您可以控制其每一像素. 引入Canvas ```ht ...
随机推荐
- iOS完整学习路线图
- Unknown lifecycle phase "mvn". You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> or <plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>
在用maven命令启动storm时候,命令行是:mvn exec:java -Dexec.mainClass="TopologyMain" -Dexec.args="sr ...
- MyBatis-Exception:org.apache.ibatis.exceptions.PersistenceException
错误信息如下: HTTP Status 500 - org.mybatis.spring.MyBatisSystemException: nested exception is org.apache. ...
- JS数字计算精度误差的解决方法
本篇文章主要是对javascript避免数字计算精度误差的方法进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助. 如果我问你 0.1 + 0.2 等于几?你可能会送我一个白眼,0.1 + 0. ...
- Delaunay Triangulation in OpenCascade
Delaunay Triangulation in OpenCascade eryar@163.com 摘要:本文简要介绍了Delaunay三角剖分的基础理论,并使用OpenCascade的三角剖分算 ...
- 记一次ASP.NET MVC性能优化(实际项目中)
前言 在开发中为了紧赶项目进度而未去关注性能的问题,在项目逐渐稳定下来后发现性能令人感到有点忧伤,于是开始去关注这方面,本篇为记录在开发中遇到的问题并解决,不喜勿喷.注意:以下问题都是在移动端上出现, ...
- Vagrant使用
常用命令 命令 说明 vagrant up 运行vm vagrant status 查看当前虚拟机运行状态 vagrant suspend 暂停虚拟机 vagrant ssh ssh方式登录虚拟机 v ...
- Stop sucking,Become awesome.这一年我做到了么
一年前,我因一些原因,工作变动,当时痛下决心,引用了<程序员的呐喊>封面的那句话: Just stop sucking and become awesome! 一年很快就过去了,最近看了不 ...
- 如何完全卸载OneDrive (Windows 10 64bit)
原文参考 http://lifehacker.com/how-to-completely-uninstall-onedrive-in-windows-10-1725363532 To complete ...
- NAS与SAN
1. NAS(Network Attached Storage,网络附加存储服务器) 简单地说,NAS就是一台File Server,只要将NAS连接上网络,那么在网络上面的其他主机就能够访问NAS上 ...