ホームページ  >  記事  >  ウェブフロントエンド  >  HTML5 Canvasの基本描画サンプルコード集_html5チュートリアルスキル

HTML5 Canvasの基本描画サンプルコード集_html5チュートリアルスキル

WBOY
WBOYオリジナル
2016-05-16 15:45:461635ブラウズ

基本的な描画

XML/HTML コードコンテンツをクリップボードにコピー
  1. var canvas = ドキュメント.getElementById('canvas'); >
  2. if (canvas.getContext) {
  3. var
  4. context = canvas.getContext('2d'); // 線幅
  5. context.lineWidth
  6. = 4; // ブラシカラー
  7. context.bloodStyle
  8. =
  9. 'red'; // 塗りつぶしの色
  10. context.fillStyle
  11. =
  12. "赤"
  13. ; // ラインキャップの種類 context.lineCap
  14. =
  15. 'butt'
  16. // 丸型、四角型
  17. ; // 開始パス context.beginPath(); // 開始点
  18. context.moveTo(10,10);
  19. // 終点
  20. context.lineTo(150,50);
  21. // 描画
  22. context.ストローク();
  23. 長方形
  24. XML/HTML コード
  25. コンテンツをクリップボードにコピー



var

canvas
= ドキュメント.getElementById('canvas'); >
    if (canvas.getContext) {
  1. context.beginPath(); context.ストロークRect(10,10,70,40); // 長方形の別の方法
  2. context.rect(10,10.70,40);
  3. context.ストローク();
  4. // 実線の長方形
  5. context.beginPath();
  6. context.fillRect(10,10,70,40);
  7. // 別の方法の実線長方形
  8. context.beginPath();
  9. context.rect(10,10,70,40);
  10. context.fill();
  11. ラウンド
  12. XML/HTML コード
  13. コンテンツをクリップボードにコピー
    1. var canvas = ドキュメント.getElementById('canvas'); >
    2. if (canvas.getContext) {
    3. context.beginPath();
    4. // 円の中心座標 x、円の中心座標 Y、円弧の半径、開始角度、終了角度、反時計回りかどうか
    5. // 4 番目と 5 番目のパラメーターは渡されるラジアンです。角度 30 を描画する場合は、それをラジアン 30 * Math.PI / 180
    6. に変換する必要があります。
    7. context.arc(100,100,70,0,130 * Math.PI / 180, true);
    8. context.ストローク();
    9. context.fill();
    10. 角丸


XML/HTML コードコンテンツをクリップボードにコピー

var
canvas
  1. = ドキュメント.getElementById('canvas'); > if (canvas.getContext) { context.beginPath();
  2. context.moveTo(20,20);
  3. context.lineTo(70,20);
  4. // パスの円弧 p1.x p1.y p2.x、p2.y の円弧半径を描画します。
  5. context.arcTo(120,30,120,70, 50);
  6. context.lineTo(120,120);
  7. context.ストローク();
  8. // キャンバスのアートボードを消去
  9. context.beginPath();
  10. context.fillRect(10,10,200,100);
  11. // 領域を消去
  12. context.clearRect(30,30,50,50);
  13. 二次ベジェ曲線
  14. XML/HTML コード
  15. コンテンツをクリップボードにコピー
var

canvas

=
ドキュメント.getElementById('canvas'); >
if (canvas.getContext) {
  1. context.beginPath(); context.moveTo(100,100); context.quadraticCurveTo(20,50,200,20); context.ストローク();
  2. 3 次ベジェ曲線
  3. XML/HTML コード
  4. コンテンツをクリップボードにコピー
    1. var canvas = document.getElementById('canvas');   
    2. if (canvas.getContext) {
    3. context.moveTo(68,130);   
    4. var cX1 = 20;   
    5. var cY1 = 10;   
    6. var cX2 = 268;   
    7. var cY2 = 10;   
    8. var endX = 268;   
    9. var endY = 170;   
    10. context.bezierCurveTo(cX1, cY1, cX2, cY2, endX, endY);   
    11. context.ストローク();   
    12. // クリップを利用して绘图領域を指定し、绘图領域を指定した後、ただ可能に绘图領域中行绘图擦欧总
    13. // 绘制圆形
    14. context.arc(100,100,40,0, 360 * Math.PI/ 180 , true);   
    15. // 制限区域
    16. context.clip();   
    17. // 开始尝试绘制その他
    18. context.beginPath();   
    19. context.fillStyle = 'lightblue';   
    20. // 结果四角形并没有显示成果
    21. context.fillRect(0,0,300,150);   
    22. }

画板进阶使用

XML/HTML コード复制コンテンツ到剪贴板
  1. var canvas = ドキュメント.getElementById('canvas'); >
  2. if (canvas.getContext) {
  3. var
  4. context = canvas.getContext('2d'); /*
  5. *drawImage(image,dx,dy)
  6. *drawImage(image,dx,dy,dw,dh)
  7. *drawImage(image,sx,sy,sw,sh,dx,dy,dw,dh);
  8. * 画像描画オブジェクト
  9. ※dx dyキャンバスのコーディネート
  10. ※dw、dhは描画するキャンバス内の画像の位置を示します
  11. ※sw、shは描画する画像の領域を表します
  12. * sx,sy 描画する描画の開始位置
  13. */
  14. var
  15. 画像
  16. =
  17. ドキュメント.getElementById('img'); context.drawImage(image, 0, 0); var
  18. img
  19. =
  20. 新しい
  21. Image(); img.src = 'images/1.jpg'
  22. ;
  23. img.onload = 関数(){
  24. // 画像を描画 // 0,0 座標から描画を開始します
  25. // context.drawImage(img,0,0);
  26. // 0, 0 から始めて、全体を縦横 100,100 まで描画します
  27. // context.drawImage(img, 0, 0, 100, 100);
  28. // スクリーンショット、50,50 から 100,100。260,130 から描画を開始し、長さと幅 100,100 の領域に配置します。
  29. // context.drawImage(img, 50, 50, 100,100, 260, 130, 100, 100);
  30. // getImageData と putImageData を使用して画像を描画します
  31. context.drawImage(img, 10, 10);
  32. // アートボードからピクセルデータを取得します
  33. // 開始位置、終了位置
  34. var
  35. imgData
  36. =
  37. context
  38. .getImageData(50,50,100,100);
  39. // 描画ボード上の指定された位置座標にデータを描画します
  40. context.putImageData(imgData,10,260);
  41. // ピクセルデータの一部を描画ボードに描画
  42. context.putImageData(imgData,200,260,50,50,100,100);
  43. // createImageData ピクセルを作成します
  44. var
  45. imgData = context.getImageData(50,50,200,200); // 指定されたサイズの空のオブジェクトを作成します
  46. var
  47. imgData01
  48. = コンテキスト.createImageData(imgData); for (
  49. i
  50. =
  51. 0
  52. ; i < imgData01.width * imgData01.height * 4; i =4) { // 赤いピクセル imgData01.data[i 0] = 255;
  53. imgData01.data[i 1] = 0;
  54. imgData01.data[i 2] = 0;
  55. imgData01.data[i 3] = 255;
  56. context.putImageData(imgData01, 10, 260);
  57. }
  58. }
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。