XML/HTML コードコンテンツをクリップボードにコピー
- var canvas = ドキュメント.getElementById('canvas'); >
if (canvas.getContext) { -
var -
context = canvas.getContext('2d');
// 線幅
-
context.lineWidth-
= 4;
// ブラシカラー
- context.bloodStyle
= -
'red';
// 塗りつぶしの色
context.fillStyle- =
"赤"-
;
// ラインキャップの種類
context.lineCap
= - 'butt'
// 丸型、四角型 -
;
// 開始パス
context.beginPath();
// 開始点
- context.moveTo(10,10);
// 終点 -
context.lineTo(150,50); -
// 描画 -
context.ストローク(); -
} -
-
長方形-
- XML/HTML コード
コンテンツをクリップボードにコピー
= ドキュメント.getElementById('canvas'); >
if (canvas.getContext) { -
context.beginPath();
context.ストロークRect(10,10,70,40);
// 長方形の別の方法
context.rect(10,10.70,40);
- context.ストローク();
-
- // 実線の長方形
- context.beginPath();
context.fillRect(10,10,70,40);
- // 別の方法の実線長方形
- context.beginPath();
context.rect(10,10,70,40);
- context.fill();
- }
-
- ラウンド
-
XML/HTML コード
- コンテンツをクリップボードにコピー
- var canvas = ドキュメント.getElementById('canvas'); >
if (canvas.getContext) { -
context.beginPath();
- // 円の中心座標 x、円の中心座標 Y、円弧の半径、開始角度、終了角度、反時計回りかどうか
- // 4 番目と 5 番目のパラメーターは渡されるラジアンです。角度 30 を描画する場合は、それをラジアン 30 * Math.PI / 180
に変換する必要があります。
- context.arc(100,100,70,0,130 * Math.PI / 180, true);
context.ストローク(); -
context.fill(); -
} -
-
角丸
XML/HTML コードコンテンツをクリップボードにコピー
var
canvas
- = ドキュメント.getElementById('canvas'); >
if (canvas.getContext) {
context.beginPath();
context.moveTo(20,20); -
context.lineTo(70,20); -
// パスの円弧 p1.x p1.y p2.x、p2.y の円弧半径を描画します。-
context.arcTo(120,30,120,70, 50);
- context.lineTo(120,120);
- context.ストローク();
-
- // キャンバスのアートボードを消去
- context.beginPath();
context.fillRect(10,10,200,100); -
-
// 領域を消去 -
context.clearRect(30,30,50,50);
- }
-
- 二次ベジェ曲線
- XML/HTML コード
コンテンツをクリップボードにコピー-
var
canvas
=
ドキュメント.getElementById('canvas'); >
if (canvas.getContext) {
- context.beginPath();
context.moveTo(100,100);
context.quadraticCurveTo(20,50,200,20);
context.ストローク();
} -
-
3 次ベジェ曲線-
- XML/HTML コード
コンテンツをクリップボードにコピー-
- var canvas = document.getElementById('canvas');
- if (canvas.getContext) {
- context.moveTo(68,130);
-
var cX1 = 20;
-
var cY1 = 10;
-
var cX2 = 268;
-
var cY2 = 10;
-
var endX = 268;
-
var endY = 170;
- context.bezierCurveTo(cX1, cY1, cX2, cY2, endX, endY);
- context.ストローク();
-
- // クリップを利用して绘图領域を指定し、绘图領域を指定した後、ただ可能に绘图領域中行绘图擦欧总
- // 绘制圆形
- context.arc(100,100,40,0, 360 * Math.PI/ 180 , true);
- // 制限区域
- context.clip();
- // 开始尝试绘制その他
- context.beginPath();
-
context.fillStyle = 'lightblue';
- // 结果四角形并没有显示成果
- context.fillRect(0,0,300,150);
- }
画板进阶使用
XML/HTML コード复制コンテンツ到剪贴板
- var canvas = ドキュメント.getElementById('canvas'); >
if (canvas.getContext) { -
var -
context = canvas.getContext('2d');
/*
- *drawImage(image,dx,dy)
- *drawImage(image,dx,dy,dw,dh)
- *drawImage(image,sx,sy,sw,sh,dx,dy,dw,dh);
* 画像描画オブジェクト -
※dx dyキャンバスのコーディネート -
※dw、dhは描画するキャンバス内の画像の位置を示します -
※sw、shは描画する画像の領域を表します -
* sx,sy 描画する描画の開始位置 -
*/ -
var - 画像
= -
ドキュメント.getElementById('img');
context.drawImage(image, 0, 0);
var
img- =
新しい-
Image();
img.src = 'images/1.jpg'
;
-
img.onload = 関数(){
-
// 画像を描画
// 0,0 座標から描画を開始します
// context.drawImage(img,0,0); -
// 0, 0 から始めて、全体を縦横 100,100 まで描画します -
// context.drawImage(img, 0, 0, 100, 100);
- // スクリーンショット、50,50 から 100,100。260,130 から描画を開始し、長さと幅 100,100 の領域に配置します。
// context.drawImage(img, 50, 50, 100,100, 260, 130, 100, 100);
-
// getImageData と putImageData を使用して画像を描画します -
-
context.drawImage(img, 10, 10); -
// アートボードからピクセルデータを取得します -
// 開始位置、終了位置 -
var - imgData
= - context
.getImageData(50,50,100,100);- // 描画ボード上の指定された位置座標にデータを描画します
- context.putImageData(imgData,10,260);
- // ピクセルデータの一部を描画ボードに描画
- context.putImageData(imgData,200,260,50,50,100,100);
-
// createImageData ピクセルを作成します -
var -
imgData = context.getImageData(50,50,200,200);
// 指定されたサイズの空のオブジェクトを作成します
- var
imgData01-
= コンテキスト.createImageData(imgData);
for (
i- =
0-
; i < imgData01.width * imgData01.height * 4; i =4) {
// 赤いピクセル
imgData01.data[i 0] = 255;
imgData01.data[i 1] = 0;
- imgData01.data[i 2] = 0;
imgData01.data[i 3] = 255;
-
- context.putImageData(imgData01, 10, 260);
- }
- }
-