ホームページ  >  記事  >  ウェブフロントエンド  >  h5canvas はスクラッチエフェクトコードを実装します

h5canvas はスクラッチエフェクトコードを実装します

零下一度
零下一度オリジナル
2017-05-13 15:50:023109ブラウズ

キャンバスにスクラッチオフを実装するときに注意すべき主な点が 2 つあります。 1 つ目は、オーバーレイがワイプされたときに描画されたパターンが失われないように、描画されたグラフィックスを背景画像として設定することです (toDataURL 属性を使用)。 ,

2番目 1つ目は、イラストを描画するときに透明度を設定することです(globalCompositeOperation属性を使用します)

h5canvas はスクラッチエフェクトコードを実装します

コードは次のとおりです:

<script>
    var arr=[
        {name:"iphone7 磨砂黑",color:"rgba(255,255,0,1)"},
        {name:"iphone7 磨砂黑",color:"rgba(0,255,0,.9)"},
        {name:"iphone7 磨砂黑",color:"rgba(10,255,255,1)"},
        {name:"iphone7 磨砂黑",color:"rgba(10,255,100,1)"}
    ]
    var r=Math.random();
    var rIndex= Math.floor(r*arr.length);
    var rPrice=arr[rIndex];
    var cv=document.getElementsByTagName(&#39;canvas&#39;)[0];
    var isDown=false;
    cv.height=400;
    cv.width=600;
    var ctx=cv.getContext("2d");
    function toAngle(radian){
        return radian/Math.PI*180;
    }
    function toRadian(angle){
        return angle/180*Math.PI;
    }
    ctx.textAlign="center";
    ctx.textBaseline="middle";
    ctx.font="30px consolas";
    ctx.fillStyle=rPrice.color;
    ctx.fillText(rPrice.name,cv.width/2,cv.height/2);

    var dataURL=cv.toDataURL("image/jpg",1);
    cv.style.background="url("+dataURL+")";

    //覆盖层
    ctx.beginPath();
    ctx.fillStyle="#eee";
    ctx.fillRect(0,0,cv.width,cv.height);

    cv.addEventListener("mousedown",function(){
        isDown=true;
    })
    cv.addEventListener("mouseup",function(){
        isDown=false;
        ctx.globalCompositeOperation="source-out"
    })
    cv.addEventListener("mousemove",function(e){
        if (isDown){
            ctx.globalCompositeOperation="destination-out";
            ctx.beginPath();
            var posObj=cv.getBoundingClientRect();

            var left=posObj.left;
            var top=posObj.top;

            var x= e.clientX-left;
            var y= e.clientY-top;

            ctx.arc(x,y,50,0,Math.PI*2);
            ctx.fill();
        }
    })
</script>

[関連推奨事項]

1. 「phpprogrammer Toolbox」V0.1バージョンのダウンロード2. 無料のh5オンラインビデオチュートリアル

3. php.cnオリジナルのhtml5ビデオチュートリアル

以上がh5canvas はスクラッチエフェクトコードを実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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