キャンバスアプリ概要1
5341 ワード
canvas
canvasは実はHTMLにとって簡単で、ラベルの要素だけです.自分は行動していませんが、一つの絵APIをクライアントJavaScriptに見せて、シナリオを描きたいものを一つのキャンバスに描きます.描画経路、長方形、円、文字、画像などの機能があります.すべてのラベルは図形の容器だけで、JavaScriptのAPIを使って図形を操作しなければなりません.
canvas描画
まず、ページの中にcanvasというグラフィックコンテナが必要です.ブラウザでのテストを容易にするために、直接操作台はcanvasラベルページに書き込み、
まずcanvasオブジェクトを取得し、canvasオブジェクトから二次元オブジェクトを取得して処理する.
Object.prototype.toStringを使ってcantxtを検出すると、タイプは
[object Canvas RenderingContext 2 D]
2 dのオブジェクトを取得すれば、canvasを操作できます.
まず、いくつかのパスのAPIがあります.
パスを描く方法:
moveTo(x,y):表示されている指定経路の起点はx,y,左上角を原点とし、横はX軸、縦はY軸とする.canvasのデフォルトの起点は0、0です.
ラインTo(x,y):始点から(x,y)点までの直線を描き、開始位置を(x,y)に設定します.
rect(left,top,width,height):左上の頂点の位置が知られています.また、高い長方形と広い長方形が描かれています.描くと始点は必ず左上の席になります.
arcTo(x 1,y 1,x 2,y 2,radius):2つの線分と切り離された円弧を描くために使用され、2つの線分はそれぞれ現在のConteextで始点と(x 2,y 2)点を始点とし、いずれも(x 1,y 1)点を終点とし、円弧の半径はradiusとする.描画が完了したら始点を描くと(x 2,y 2)を始点とする線分と円弧の接点に移動します.arc(x,y,radius,startAngle,endAngle,anticlockwise):(x,y)点を中心とした円心を描くために使用されます.ラジクスは半径であり、startAngleは始点弧度であり、endAngleは終端弧となります.anticlockwiseはブール型のパラメータで、trueは反時計回りを表し、falseは時計回りを表します.パラメータの中の二つのラジアンは0で0°を表し、位置は3時方向です.Math.PI値は180°を表し、位置は9時方向です.Qadratic CurveTo(cpx,cpy,x,y):現在のContectの描画起点を起点として、(cpx,cpy)点を制御点とし、(x,y)点を終点とする二次スプライン経路.BezerCurveTo(cpx 1、cpy 1、cpx 2、cpy 2、x、y);現在のConteextの始点を起点として、(cpx 1,cpy 1)点と(cpx 2,cpy 2)点を二つの制御点とし、(x,y)点を終点とするベジェ曲線のルートです.
パスを描画した後に、パスまたは塗りつぶしの色を描くには、以下の方法が必要です.
strook():コースに沿って線を描きます.
fill():現在設定されているstyleを使って、パス領域を塗りつぶします.
clip():既存のルートに従って画布にクリップエリアを設定し、呼び出し後のグラフィック編集コードは編集エリアにのみ有効で、外部には無効です.起動していない場合は現在のcanvas全体が編集エリアです.
その他のいくつかの方法:
fillText(text、left、top、[maxWidth]):文字列は、原点の座標に対して、文字列の最大長さです.最大長さmaxWidthは任意のパラメータである.
fillRect(left,top,width,height):直接長方形を充填します.
stokeRect( left、top、width、height):長方形の枠を引く.
clearReck(left,top,width,height):矩形内のすべての内容をクリアします.
いくつかの設定可能な属性があります.
stokeSteyle:線の色、デフォルトは「铀0000」で、cssの色の値、グラデーションのオブジェクト、またはモードのオブジェクトに設定できます.
fillSteyle:塗りつぶしの色.
ラインWidth:線の幅.単位px
ラインカップ:ライン端点スタイル、ブットなし、round円頭、スクウェア角頭.
ラインJoin:線の転換の処理、roundの円角、bevelの平角、miterの尖角.
miter Limit:尖った鋭さ、黙認10.
トレイ(x,y):平行変換して、原点を座標(x,y)に移動します.
rotate(a):回転変換、a度角を回転する.
scale(x,y):伸縮変換;
セーブして図形描画状態を復元します.セーブしてから現在の図形描画状態をスタックに押し込んで、リセットします.
drawImage()方法の3つの原型は以下の通りである.
drawImage(image,dx,dy);
drawImage(image、dx、dw、dh);
drawImage(image,sx,sy,sw,sh,dx,dw,dh);
このうち、イメージパラメータはHTMLImage Element、HTMLCanvas ElementまたはHTMLV idoElementとすることができます.第3の方法の原型の中のsx、syは前の2つの中ですべて0で、sw、shはすべてイメージの自身の幅と高さです.第二と第三の原型の中のdw、dhは第一の中でもイメージそのものの幅と高さです.
canvasは実はHTMLにとって簡単で、ラベルの要素だけです.自分は行動していませんが、一つの絵APIをクライアントJavaScriptに見せて、シナリオを描きたいものを一つのキャンバスに描きます.描画経路、長方形、円、文字、画像などの機能があります.すべてのラベルは図形の容器だけで、JavaScriptのAPIを使って図形を操作しなければなりません.
canvas描画
まず、ページの中にcanvasというグラフィックコンテナが必要です.ブラウザでのテストを容易にするために、直接操作台はcanvasラベルページに書き込み、
document.open();
document.write();// canvas
document.close();
次に、2 dオブジェクトとしてインターフェースを用いて取得してレンダリングする(現在は2次元のみの対応).var canvas = document.getElementById("canvas");
var cantxt = canvas.getContext("2d");
まずcanvasオブジェクトを取得し、canvasオブジェクトから二次元オブジェクトを取得して処理する.
Object.prototype.toStringを使ってcantxtを検出すると、タイプは
[object Canvas RenderingContext 2 D]
2 dのオブジェクトを取得すれば、canvasを操作できます.
まず、いくつかのパスのAPIがあります.
パスを描く方法:
moveTo(x,y):表示されている指定経路の起点はx,y,左上角を原点とし、横はX軸、縦はY軸とする.canvasのデフォルトの起点は0、0です.
ラインTo(x,y):始点から(x,y)点までの直線を描き、開始位置を(x,y)に設定します.
rect(left,top,width,height):左上の頂点の位置が知られています.また、高い長方形と広い長方形が描かれています.描くと始点は必ず左上の席になります.
arcTo(x 1,y 1,x 2,y 2,radius):2つの線分と切り離された円弧を描くために使用され、2つの線分はそれぞれ現在のConteextで始点と(x 2,y 2)点を始点とし、いずれも(x 1,y 1)点を終点とし、円弧の半径はradiusとする.描画が完了したら始点を描くと(x 2,y 2)を始点とする線分と円弧の接点に移動します.arc(x,y,radius,startAngle,endAngle,anticlockwise):(x,y)点を中心とした円心を描くために使用されます.ラジクスは半径であり、startAngleは始点弧度であり、endAngleは終端弧となります.anticlockwiseはブール型のパラメータで、trueは反時計回りを表し、falseは時計回りを表します.パラメータの中の二つのラジアンは0で0°を表し、位置は3時方向です.Math.PI値は180°を表し、位置は9時方向です.Qadratic CurveTo(cpx,cpy,x,y):現在のContectの描画起点を起点として、(cpx,cpy)点を制御点とし、(x,y)点を終点とする二次スプライン経路.BezerCurveTo(cpx 1、cpy 1、cpx 2、cpy 2、x、y);現在のConteextの始点を起点として、(cpx 1,cpy 1)点と(cpx 2,cpy 2)点を二つの制御点とし、(x,y)点を終点とするベジェ曲線のルートです.
パスを描画した後に、パスまたは塗りつぶしの色を描くには、以下の方法が必要です.
strook():コースに沿って線を描きます.
fill():現在設定されているstyleを使って、パス領域を塗りつぶします.
clip():既存のルートに従って画布にクリップエリアを設定し、呼び出し後のグラフィック編集コードは編集エリアにのみ有効で、外部には無効です.起動していない場合は現在のcanvas全体が編集エリアです.
cantxt.rect(50,50,40,80);
cantxt.fillStyle = "#0F0";
cantxt.fill();
cantxt .moveTo(50,50); // 50 50
cantxt.lineTo(150,150); // 150 150
cantxt.stroke(); //
// , , 。 。
cantxt.beginPath();
cantxt.rect(50,50,50,100);
cantxt.fillStyle = "#0F0";
cantxt.fill();
cantxt.closePath();
cantxt.beginPath();
cantxt .moveTo(50,50); // 50 50
cantxt.lineTo(150,150); // 150 150
cantxt.stroke(); //
cantxt.closePath();
cantxt.beginPath();
cantxt.moveTo(50,50);
cantxt.arcTo(100,100,200,50,50);
cantxt.stroke();
cantxt.closePath();
その他のいくつかの方法:
fillText(text、left、top、[maxWidth]):文字列は、原点の座標に対して、文字列の最大長さです.最大長さmaxWidthは任意のパラメータである.
cantxt.fillText("abcde",100,300);
もう一つの方法はパスを使わずに直接色を記入することです.fillRect(left,top,width,height):直接長方形を充填します.
stokeRect( left、top、width、height):長方形の枠を引く.
clearReck(left,top,width,height):矩形内のすべての内容をクリアします.
cantxt.strokeRect( 50,50,100,100 );
cantxt.clearRect( 50,50,100,100 ); //
cantxt.clearRect( 49,49,102,102 );
ファイリングには上の問題がありません.いくつかの設定可能な属性があります.
stokeSteyle:線の色、デフォルトは「铀0000」で、cssの色の値、グラデーションのオブジェクト、またはモードのオブジェクトに設定できます.
fillSteyle:塗りつぶしの色.
ラインWidth:線の幅.単位px
ラインカップ:ライン端点スタイル、ブットなし、round円頭、スクウェア角頭.
ラインJoin:線の転換の処理、roundの円角、bevelの平角、miterの尖角.
miter Limit:尖った鋭さ、黙認10.
トレイ(x,y):平行変換して、原点を座標(x,y)に移動します.
rotate(a):回転変換、a度角を回転する.
scale(x,y):伸縮変換;
セーブして図形描画状態を復元します.セーブしてから現在の図形描画状態をスタックに押し込んで、リセットします.
cantxt.translate(200,200);
cantxt.rotate(1);
cantxt.moveTo(0,0);
cantxt.lineTo(100,100);
cantxt.stroke();
Contectオブジェクトの中にdrawImage()を持つ方法で、外部画像をCanvasに描画することができます.drawImage()方法の3つの原型は以下の通りである.
drawImage(image,dx,dy);
drawImage(image、dx、dw、dh);
drawImage(image,sx,sy,sw,sh,dx,dw,dh);
このうち、イメージパラメータはHTMLImage Element、HTMLCanvas ElementまたはHTMLV idoElementとすることができます.第3の方法の原型の中のsx、syは前の2つの中ですべて0で、sw、shはすべてイメージの自身の幅と高さです.第二と第三の原型の中のdw、dhは第一の中でもイメージそのものの幅と高さです.