この記事では、主に Html5 を使用して独自の描画ボードを作成し、ペイントや色調整などの操作を実行する方法を説明します。興味のある友人は参照してください。
最近、html5 の強力な描画機能を知り、驚きました。ガジェットを作成しました。描画、色の変更、ブラシ サイズの調整などの機能を実現できる落書きパッドです。HTML5 の描画は、点、線、面、円、絵などに分類できます。点と線は次のとおりです。 all プレーンエフェクトの基本ポイント この 2 つがあれば、描画できないものはなく、予想外のアルゴリズムだけが得られます。
コードから始めましょう:
html<body style="cursor:pointer">
<canvas id="mycavas" width="1024" height="400" style="border:solid 4px #000000"></canvas><!--画布-->
<input type="color" id="color1" name="color1"/><!--设色器-->
<output name="a" for="color1" onforminput="innerHTML=color1.value"></output>
<input type="range" name="points" id="size" min="5" max="20" /><!--拖动条-->
</body>
さて、シンプルな描画インターフェイスの準備ができました。線描画コードを書き始めましょう
$.Draw = {}; $.extend($.Draw, { D2: "", CX:"", Box: "mycavas",//画布id BoxObj:function(){//画布对象 this.CX=document.getElementById(this.Box); }, D2:function(){//2d绘图对象 this.D2 = this.CX.getContext("2d"); }, Cricle: function (x, y, r, color) {//画圆 if (this.D2) { this.D2.beginPath(); this.D2.arc(x, y, r, 0, Math.PI * 2, true); this.D2.closePath(); if (color) { this.D2.fillStyle = color; } this.D2.fill(); } }, init: function () {//初始化 this.BoxObj(); this.D2(); } })
私はここでのシンプルさを信じています誰でもできますキャンバスの作成、2D オブジェクトの作成、円の描画メソッド、オブジェクトの初期化メソッドなど、主にオブジェクトを作成するコードを理解します。
次に、この object/p> を呼び出すために、フロント HTML ページに移動します。
コードを見てください:
var color = "#000000";//初始化颜色 var size = 5;//初始化尺寸 document.getElementById('color1').onchange = function () { color = this.value; }; document.getElementById('size').onchange = function () { size = this.value; }; $.Draw.init();//初始化 var tag = false;//控制鼠标当前状态并起到开启油墨开关的作用 var current = {};//存储鼠标按下时候的点 document.onmousedown = function (option) {//鼠标按下事件 current.x = option.x; current.y = option.y; $.Draw.Cricle(option.x, option.y, size, color); tag = true; } document.onmouseup = function () {//鼠标抬起事件 tag = false; } document.onmousemove = function (option) {//鼠标移动事件 if (tag) { if (size >= 0) { $.Draw.Cricle(option.x, option.y, size, color); } } }
1. 色空間の変更イベントをキャプチャし、ドラッグします。バー コントロール。これにより、対応する色とサイズの値が取得され、次の線描画に保存されます
2. 描画オブジェクトを初期化します
3. 重要なのは、スイッチでイベントをキャプチャできることです。インクを制御します
さて、私のカリグラフィーが描かれたシンプルな落書きボードで十分です:
関連記事:
純粋な CSS3 に基づく 6 つの手描き落書きボタン効果使い方html5 と css3 で Google 落書きアニメーションを完成JavaScript HTML5 キャンバスに基づいてブラシの色/太さ/消しゴムを調整できる落書きボード以上がHTML5は落書きボードのサンプルコードを実装するだけですの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。