HTML5は落書きボードのサンプルコードを実装するだけです

黄舟
リリース: 2017-03-16 13:17:32
オリジナル
3764 人が閲覧しました

この記事では、主に 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>
ログイン後にコピー
効果:

HTML5は落書きボードのサンプルコードを実装するだけですさて、シンプルな描画インターフェイスの準備ができました。線描画コードを書き始めましょう

$.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(&#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. 重要なのは、スイッチでイベントをキャプチャできることです。インクを制御します

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

HTML5は落書きボードのサンプルコードを実装するだけです関連記事:

純粋な CSS3 に基づく 6 つの手描き落書きボタン効果

使い方html5 と css3 で Google 落書きアニメーションを完成

JavaScript HTML5 キャンバスに基づいてブラシの色/太さ/消しゴムを調整できる落書きボード

以上がHTML5は落書きボードのサンプルコードを実装するだけですの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート