Heim >Web-Frontend >js-Tutorial >js implementiert Pinselfunktionsnotizen über Canvas

js implementiert Pinselfunktionsnotizen über Canvas

PHP中文网
PHP中文网Original
2017-07-14 10:26:332738Durchsuche

Ich glaube, dass jeder mit der Strichzeichnungsfunktion von Flash vertraut ist. Ich habe jedoch schon früher ähnliche Funktionen mit dem Flash-Aktionsskript geschrieben Im Folgenden stellen wir vor, wie die Zeichenbrettfunktion mithilfe des

canvas

-Tags von HTML5 in Kombination mit javascript implementiert wird. Der -Code lautet wie folgt:


Unter diesen wird die Strichzeichnungsfunktion durch Mousedown, Mousemove, Mouseup, Mouseleave und andere js
<script src="http://www.php.cn/static/home/js/jquery.min.js"></script>
<canvas id="paintcanvas" width="600" height="700"></canvas>
<script>
var paint;
var clickX=[];
var clickY=[];
var clickDrag=[];
function addClick(x,y,dragging)
{
        clickX.push(x);
        clickY.push(y);
        clickDrag.push(dragging);
}
function redraw()
{
        paintcanvas.strokeStyle = "#df4b26";
        paintcanvas.lineJoin = "round";
        paintcanvas.lineWidth = 5;
        for(var i=0; i < clickX.length; i++)
        {
            paintcanvas.beginPath();
            if(clickDrag[i] && i){//当是拖动而且i!=0时,从上一个点开始画线。
                paintcanvas.moveTo(clickX[i-1], clickY[i-1]);
            }else{
                paintcanvas.moveTo(clickX[i]-1, clickY[i]);
            }
            paintcanvas.lineTo(clickX[i], clickY[i]);
            paintcanvas.closePath();
            paintcanvas.stroke();
        }
}
paintcanvas=$(&#39;#paintcanvas&#39;)[0].getContext("2d");
$(&#39;#paintcanvas&#39;).mousedown(function(e){
        var mouseX=e.pageX-this.offsetLeft;
        var mouseY=e.pageY-this.offsetTop;
        paint=true;
        addClick(e.pageX-this.offsetLeft,e.pageY-this.offsetTop);
        redraw();
});
$(&#39;#paintcanvas&#39;).mousemove(function(e){
        if(paint){
            addClick(e.pageX-this.offsetLeft,e.pageY-this.offsetTop,true);
            redraw();
        }
});
$(&#39;#paintcanvas&#39;).mouseup(function(e){
        paint = false;
});
$(&#39;#paintcanvas&#39;).mouseleave(function(e){
        paint = false;
});
</script>
Ereignisse

realisiert. Dieser Artikel wird von der chinesischen PHP-Website bereitgestellt,

Ursprüngliche Adresse: http://www.php.cn/js-tutorial-374130.html

Bitte nicht Nachdruck~~ ~~

Das obige ist der detaillierte Inhalt vonjs implementiert Pinselfunktionsnotizen über Canvas. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn