


HTML5 キャンバス描画 - キャンバスを使用してグラフィックスとテキストを描画するチュートリアル HTML5 キャンバスを使用して美しい絵を描く_html5 チュートリアル スキル
HTML5火的正熱,最近有個想法也是要用到HTML的相關功能,所以也要好好學習一把。
好好看了一下Canvas的功能,感覺HTML5在客戶端互動的功能性越來越強了,今天看了一下Canvas繪圖,下邊是幾個實例,記下以備後用。
1、使用Canvas繪製直線:
- html>
- html>
- 頭>
- 元 元 字元 字元8"
- > 頭
- > 樣式 類型>
- 畫布{border:dashed 2px #CCC}
- 樣式>
-
腳本 類型
類型 型 - >
- 函數 $$(id){
- return document.getElementById(id);
- }
- 函數 pageLoad(){ var
- 可 = $$('can'); 可以 = $$('can'); 鎠 var
可- 罐子可以
- 罐子
cans.moveTo(20,30);//第一個起點- cans.lineTo(220,60);//第三點(以第二點為起點) cans.lineWidth
= cans.行程樣式 = ' 罐頭.中風(); - }
- スクリプト>
- <body onload="pageLoad( );">
- <キャンバス id="できる" 幅="400px" 高さ="300px">4キャンバス>
- ボディ>
- html>
ここで使用する 2 つの API メソッド、moveTo と lineTo はそれぞれ線分の始点と終点の座標、変数は (X 座標、Y 座標)、ストロークスタイル、ストロークでそれぞれパス描画スタイルと描画パスです。
2. グラデーションの線を描画します
グラデーション ラインには色のグラデーション効果があります。もちろん、グラデーション スタイルはパスの方向に従うかどうかに関係なく、
- >
- <html>
- <頭>
- <メタ charset="UTF- 8">
- 頭>
- <スタイル タイプ="text/ css">
- canvas{border:dashed 2px #CCC}
- スタイル>
- <スクリプト type="text/ javascript">
- 関数 $$(id){
- return document.getElementById(id);
- }
- function pageLoad(){
- var できる = $$('できる');
- var cancans = can.getContext('2d');
- cans.moveTo(0,0);
- cans.lineTo(400,300);
- var gnt1 = cans.createLinearGradient(0,0,400,300);//線性渐变の起止座標
- gnt1.addColorStop(0,'red');// 作成の開始色、0 は偏り量を示し、人は直線上の相対位置を示し、最大は 1、1 つの色に任意に書き込めます个渐变颜色
- gnt1.addColorStop(1,' yellow');
- cans.lineWidth=3;
- cans.bloodStyle = gnt1;
- cans.ストローク();
- }
- スクリプト>
- <body onload="pageLoad( );">
- <キャンバス id="できる" 幅="400px" 高さ="300px">4キャンバス>
- ボディ>
- html>
3. 長方形または正方形を描画します:
HTML4を使用すると、このような四角形の枠は背景コードでしか生成できませんでしたが、HTML5が提供するCanvas機能を利用することで簡単に描画できるようになり、HTML5のメリットは非常に高くなります。
- >
- <html>
- <頭>
- <メタ charset="UTF- 8">
- 頭>
- <スタイル タイプ="text/ css">
- canvas{border:dashed 2px #CCC}
- スタイル>
- <スクリプト type="text/ javascript">
- 関数 $$(id){
- return document.getElementById(id);
- }
- function pageLoad(){
- var できる = $$('できる');
- var cancans = can.getContext('2d');
- cans.fillStyle = ' yellow';
- cans.fillRect(30,30,340,240);
- }
- スクリプト>
- <body onload="pageLoad( );">
- <キャンバス id="できる" 幅="400px" 高さ="300px">4キャンバス>
- ボディ>
- html>
ここでは fillRect() メソッドが使用されています。文字通りの意味から、ここでのパラメータは説明する価値がありますが、これはそうではありません。数学の座標と同じです。詳しくは
を参照してください。ここでの X と Y は、キャンバスの左上隅を基準とした開始点から始まります。覚えておいてください。 !
4. 単純な長方形のボックスを描画します
上記の例では、長方形のブロックを描画し、それを色で塗りつぶすことについて説明しています。この例では、塗りつぶし効果を実現せずに、単純に長方形を描画しています。
- >
- <html>
- <頭>
- <メタ charset="UTF- 8">
- 頭>
- <スタイル タイプ="text/ css">
- canvas{border:dashed 2px #CCC}
- スタイル>
- <スクリプト type="text/ javascript">
- 関数 $$(id){
- return document.getElementById(id);
- }
- function pageLoad(){
- var できる = $$('できる');
- var cancans = can.getContext('2d');
- cans.bloodStyle = 'red';
- cans.ストロークRect(30,30,340,240);
- }
- スクリプト>
- <body onload="pageLoad( );">
- <キャンバス id="できる" 幅="400px" 高さ="300px">4キャンバス>
- ボディ>
- html>
これは非常に簡単です。上記の例と同様に、塗りつぶしをストロークに置き換えるだけです。詳細については、上の例を参照してください。
5. 線形グラデーションで長方形を描画します
グラデーションは塗りつぶしの非常に優れた効果です。例 2 と例 3 を組み合わせると、グラデーションの四角形を作成できます。
- >
- <html>
- <頭>
- <メタ charset="UTF- 8">
- 頭>
- <スタイル タイプ="text/ css">
- canvas{border:dashed 2px #CCC}
- スタイル>
- <スクリプト type="text/ javascript">
- 関数 $$(id){
- return document.getElementById(id);
- }
- function pageLoad(){
- var できる = $$('できる');
- var cancans = can.getContext('2d');
- var gnt1 = 缶.createLinearGradient(10,0,390,0);
- gnt1.addColorStop(0,'red');
- gnt1.addColorStop(0.5,'green');
- gnt1.addColorStop(1,'blue');
- cans.fillStyle = gnt1;
- cans.fillRect(10,10,380,280);
- }
- スクリプト>
- <body onload="pageLoad( );">
- <キャンバス id="できる" 幅="400px" 高さ="300px">4キャンバス>
- ボディ>
- html>
説明する必要はありません。fillRect(X,Y,Width,Height) を覚えておいてください。
6. 円を塗りつぶします
楕円形を含む円形は広く使用されています。
- >
- <html>
- <頭>
- <メタ charset="UTF- 8">
- 頭>
- <スタイル タイプ="text/ css">
- canvas{border:dashed 2px #CCC}
- スタイル>
- <スクリプト type="text/ javascript">
- 関数 $$(id){
- return document.getElementById(id);
- }
- function pageLoad(){
- var できる = $$('できる');
- var cancans = can.getContext('2d');
- cans.beginPath();
- cans.arc(200,150,100,0,Math.PI*2,true);
- cans.closePath();
- cans.fillStyle = 'green';// 本来、ここで最初に使用されていたものは赤、截图一看,傻眼了,怕上街被愛する国人打啊,其实你懂的~~
- cans.fill();
- }
- スクリプト>
- <body onload="pageLoad( );">
- <キャンバス id="できる" 幅="400px" 高さ="300px">4キャンバス>
- ボディ>
- html>
ここでの arc メソッドの使用法は、arc(X,Y,Radius,startAngle,endAngle,antiwatchwise) です。これは、(円の中心の X 座標、円の中心の Y 座標、半径、開始角度 (ラジアン)、終了角度) を意味します。ラジアン、時計回りに描画するかどうか);
円弧内のパラメータの比較:
a.cans.arc(200,150,100,0,Math.PI,true);
c, cans.arc(200,150,100,0,Math.PI/2,true);
c, cans.arc(200,150,100,0,Math.PI/2,true);
d, cans.arc(200,150,100,0,Math.PI/2,false);
7. 円形ブロック
- >
- <html>
- <頭>
- <メタ charset="UTF- 8">
- 頭>
- <スタイル タイプ="text/ css">
- canvas{border:dashed 2px #CCC}
- スタイル>
- <スクリプト type="text/ javascript">
- 関数 $$(id){
- return document.getElementById(id);
- }
- function pageLoad(){
- var できる = $$('できる');
- var cancans = can.getContext('2d');
- cans.beginPath();
- cans.arc(200,150,100,0,Math.PI*2,false);
- cans.closePath();
- cans.lineWidth = 5;
- cans.bloodStyle = 'red';
- cans.ストローク();
- }
- スクリプト>
- <body onload="pageLoad( );">
- <キャンバス id="できる" 幅="400px" 高さ="300px">4キャンバス>
- ボディ>
- html>
ここでは説明しません。上記の例と同様に、lineWidth は線の幅を制御します。
8. 円形グラデーション
- >
- <html>
- <頭>
- <メタ charset="UTF- 8">
- 頭>
- <スタイル タイプ="text/ css">
- canvas{border:dashed 2px #CCC}
- スタイル>
- <スクリプト type="text/ javascript">
- 関数 $$(id){
- return document.getElementById(id);
- }
- function pageLoad(){
- var できる = $$('できる');
- var cancans = can.getContext('2d');
- var gnt = cans.createRadialGradient(200,300,50,200,200,200);
- gnt.addColorStop(1,'red');
- gnt.addColorStop(0,'green');
- cans.fillStyle = gnt;
- cans.fillRect(0,0,800,600);
- }
- スクリプト>
- <body onload="pageLoad( );">
- <キャンバス id="できる" 幅="800px" 高さ="600px">4キャンバス>
- ボディ>
- html>
ここで説明する必要があるのは、createRadialGradient メソッドです。パラメーターは (Xstart、Ystart、radiusStart、XEnd、YEnd、radiusEnd) です。つまり、グラデーションを実装するときに 2 つの円を使用します。1 つは元の円と他の円はグラデーション円です。実際、この座標と半径の制御方法は、
などの多くのスタイルを実現できます。立体円
- var gnt = cans.createRadialGradient(200,150,0,200,50,250);
- gnt.addColorStop(0,'red');
- gnt.addColorStop(1,'#333');

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











この記事では、ビューポートメタタグを使用してモバイルデバイスのページスケーリングを制御し、最適な応答性とパフォーマンスのために幅や初期スケールなどの設定に焦点を当てています。

この記事では、&lt; audio&gt;を使用してHTML5にオーディオを埋め込む方法について説明します。フォーマット選択のベストプラクティス(MP3、OGG Vorbis)、ファイルの最適化、および再生のためのJavaScriptコントロールを含む要素。 複数のオーディオfを使用して強調しています

この記事では、Geolocation APIを使用してユーザーの場所のプライバシーと許可を管理し、アクセス許可を要求するためのベストプラクティスを強調し、データセキュリティを確保し、プライバシー法を遵守することについて説明します。

この記事では、JavaScriptを使用してインタラクティブなHTML5ゲームの作成を詳述しています。 ゲームデザイン、HTML構造、CSSスタイリング、JavaScriptロジック(イベント処理とアニメーションを含む)、およびオーディオ統合をカバーしています。 必須JavaScriptライブラリ(Phaser、PI

この記事では、HTML5フォームを作成および検証する方法について説明します。 &lt; form&gt;の詳細要素、入力タイプ(テキスト、電子メール、番号など)、および属性(必須、パターン、MIN、最大)。 HTML5の利点は、古い方法よりも形成されます

この記事では、HTML5ページの可視性APIを使用して、ページの可視性を検出し、ユーザーエクスペリエンスを向上させ、リソースの使用量を最適化します。重要な側面には、メディアの一時停止、CPU負荷の削減、視認性の変化に基づいて分析の管理が含まれます。

この記事では、HTML5ドラッグアンドドロップAPIを使用してインタラクティブなユーザーインターフェイスを作成し、要素をドラッグ可能にし、キーイベントを処理し、カスタムフィードバックを使用してユーザーエクスペリエンスを強化する手順を作成する方法について説明します。また、aへの一般的な落とし穴についても説明します

この記事では、リアルタイムの双方向のクライアントサーバー通信のために、HTML5 WebSockets APIについて説明します。 クライアントサイド(JavaScript)とサーバー側(Python/Flask)の実装を詳述し、スケーラビリティ、状態管理、などの課題に対処します。
