ホームページ >ウェブフロントエンド >H5 チュートリアル >Graffiti Board は、HTML5 で独自の描画ボードを作成するために簡単に実装されています

Graffiti Board は、HTML5 で独自の描画ボードを作成するために簡単に実装されています

巴扎黑
巴扎黑オリジナル
2017-05-21 14:46:404359ブラウズ

この記事では、主に Html5 を使用して独自の描画ボードを作成し、ペイントや色調整などの操作を実行する方法を説明します。興味のある友人は参照してください。

最近、html5 の強力な描画機能を知り、驚きました。ガジェットを作成しました。描画、色の変更、ブラシ サイズの調整などの機能を実現できる落書きパッドです。HTML5 の描画は、点、線、面、円、絵などに分類できます。点と線は次のとおりです。 all プレーンエフェクトの基本ポイント この 2 つがあれば、描画できないものはなく、予想外のアルゴリズムだけが得られます。

コードから始めましょう:

html

XML/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>
効果:

それでは、簡単な描画インターフェイスの準備ができました。線画コードを書きます

JavaScriptコード

コンテンツをクリップボードにコピーします

$.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オブジェクトの作成、円の作成など、主にオブジェクトを作成します。描画メソッドとオブジェクトの初期化メソッド。

フロントエンドの HTML ページに移動して、この object/p> を呼び出します

コードを見てください:

JavaScript コード

内容をクリップボードにコピーします

var color = "#000000";//初始化颜色   
 var size = 5;//初始化尺寸   
document.getElementById(&#39;color1&#39;).onchange = function () {   
color = this.value;   
 };   
 document.getElementById(&#39;size&#39;).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. マウスのプレス、リフト、および操作をキャプチャします。モバイル イベントの鍵は、スイッチでインクを制御できることです

まあ、私のカリグラフィーが描かれたシンプルな落書きパッドで十分です:

以上がGraffiti Board は、HTML5 で独自の描画ボードを作成するために簡単に実装されていますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。