Tweet
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
- Newer: WYSIWYGエディタが嫌い
- Older: マウスとキーボード買った
Home > > canvasで虹を描いてみた
Tweet
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
Home > > canvasで虹を描いてみた
Home > JavaScript > canvasで虹を描いてみた
Tweet
引き続きuupaa-excanvas.jsをいじって遊んでます。
グラデーションがかなり綺麗にできるっぽかったので、試しに虹を作ってみる。
結果がこれ↓
予想以上にうまくいったので、bornneet.comの背景(?)として使うことにしました。
ソースは以下のような感じ。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>rainvow</title>
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<link rel="stylesheet" type="text/css" href="style.css" media="all" />
<script type="text/xaml" id="xaml"><?xml version="1.0"?><Canvas xmlns="http://schemas.microsoft.com/client/2007"></Canvas></script>
<script type="text/javascript" src="http://uupaa-js-spinoff.googlecode.com/svn/trunk/uupaa-detect.js/uupaa-detect.mini.js"></script>
<script type="text/javascript" src="http://uupaa-js-spinoff.googlecode.com/svn/trunk/uupaa-color.js/uupaa-color.mini.js"></script>
<script type="text/javascript" src="http://uupaa-js-spinoff.googlecode.com/svn/trunk/uupaa-excanvas.js/uupaa-excanvas.js"></script>
<!--[if lt IE 7]>
<script src="http://ie7-js.googlecode.com/svn/version/2.0(beta3)/IE7.js" type="text/javascript"></script>
<![endif]-->
<script type="text/javascript" src="script.js"></script>
</head>
<body>
<!-- cssでのサイズ指定はうまくいかない(?)ので属性で指定 -->
<canvas width="200" height="200"></canvas>
<div id="test"></div>
</body>
</html>
uuClass.Canvas.ready(function() {
var canvas = document.getElementsByTagName('canvas')[0];
var ctx = canvas.getContext('2d');
var r = canvas.width;
var x = canvas.width;
var y = canvas.height;
var grd = ctx.createRadialGradient(x, y, 1, x, y, r);
var colors = ['255,255,255', '255,0,0', '255,165,0', '255,255,0', '0,255,0', '0,0,255', '0,0,128', '128,0,128', '255,255,255'];
var margin = 0.05;
var base = 1 - margin * colors.length;
for(var i = 0; i < colors.length; i++) {
grd.addColorStop(base, 'rgba(' + colors[i] + ',0.6)');
base += margin;
}
ctx.fillStyle = grd;
ctx.fillRect(x - r, y - r, r * 2, r * 2);
});
@charset "UTF-8";
canvas {
border: 1px solid black;
position: fixed;
right: 0;
bottom: 0;
}
ちなみに、ExplorerCanvasでやると、
こうなっちゃうので円形グラデーションを使う時は注意。
(Canvas - 円形グラデーションを指定する - HTML5.JP)
Home > JavaScript > canvasで虹を描いてみた