ホームページ ウェブフロントエンド H5 チュートリアル HTML5 キャンバス タグはスクラッチ カード効果を実装します_html5 チュートリアル スキル

HTML5 キャンバス タグはスクラッチ カード効果を実装します_html5 チュートリアル スキル

May 16, 2016 pm 03:46 PM
canvas html5 ラベル

スクラッチ カードで遊んだことがありますか?偶然賞品を獲得できるタイプ。今日は、HTML5 テクノロジーに基づいたスクラッチ カードのエフェクトを紹介します。PC ではマウスを押したままにするだけで、携帯電話では実際のスクラッチをシミュレートできます。効果。

ソース コードのダウンロード: クリックしてダウンロード

HTML5 Canvas を、それが提供する API と組み合わせて使用​​し、Canvas 要素上に灰色のマスク レイヤを描画し、ユーザーのマウスの動きとジェスチャを検出して透明なグラフィックを描画します。これにより、Canvas の背景が見えるようになります。実際の写真はスクラッチ カード効果を実現できます。

HTML

キャンバス タグ要素をページに追加するだけで済み、残りは JavaScript に依存します。 Canvas 要素は HTML5 に固有の要素であり、HTML5 をサポートする最新のブラウザ上で実行されることに注意してください。

コードをコピー
コードは次のとおりです。

< /canvas>


JavaScript

まず、ページのマウス選択とドラッグ イベントを無効にする、つまり選択操作を実行しないようにする必要があります。

コードをコピーします
コードは次のとおりです:

var bodyStyle = document.body .style;
bodyStyle.mozUserSelect = 'none';
bodyStyle.webkitUserSelect = 'none'; 次に、画像クラスを定義し、canvas 要素を取得し、背景を設定します。そして位置属性。この例では 2 枚のランダムな写真を使用し、毎回ランダムな写真を背景として更新します。



コードをコピーします
コードは次のとおりです。
var img = new Image( );
var Canvas = document.querySelector('canvas');
canvas.style.backgroundColor='transparent';
var imgs = [ 'p_0.jpg','p_1.jpg'];
var num = Math.random()*2);
imgs[num];
次に、画像が読み込まれたことが検出されたら、関数layer()を使用してプレスイベントを定義します。 eventMove() はリリースイベントを定義し、押されると座標変位が取得され、arc(x, y, 10, 0, Math.PI * 2) を通して小さなドットが描画されます。




コードをコピー

コードは次のとおりです。
img.addEventListener('load ', function (e) { var ctx; var w = img.width,
h = img.height;
var offsetX = Canvas.offsetLeft,
offsetY = Canvas.offsetTop ;
var Mousedown = false;

関数 Layer(ctx) {
ctx.fillStyle = 'gray';
ctx.fillRect(0, 0, w, h); > }

関数eventDown(e){
e.preventDefault();
Mousedown=true;
}

関数eventUp(e){
e .preventDefault( );
マウスダウン = false;
}

関数eventMove(e){
e.preventDefault();
if(mousedown); e.changedTouches ){
e=e.changedTouches[e.changedTouches.length-1];
}
var x = (e.clientX document.body.scrollLeft || e.pageX) - offsetX || 0 ,
y = (e.clientY document.body.scrollTop || e.pageY) -
with(ctx) {
beginPath()
arc(x) , y, 10, 0, Math.PI * 2);//ドットを描画します
fill();
}
}
}

//...
} );


最後に、キャンバスを通じて上記の関数を呼び出し、グラフィックを描画し、タッチ イベントとマウス イベントをリッスンして、対応する関数を呼び出します。コードを参照してください。



コードをコピーします

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

img.addEventListener('load', function(e) {
//..前のコードからの続き
Canvas.width=w;
Canvas.height=h;
Canvas.style.backgroundImage='url(' img.src ')';
ctx=canvas.getContext('2d');
ctx.fillStyle='transparent'; (0 , 0, w, h);//長方形を描画します
Layer(ctx);

ctx.globalCompositeOperation = 'destination-out'

Canvas.addEventListener(' touchstart'、eventDown);
Canvas.addEventListener('touchmove'、eventMove);
Canvas.addEventListener('mousedown'、eventUp); > Canvas.addEventListener('mouseup',eventUp);
canvas.addEventListener('mousemove',eventMove);


デモで完全なコードをダウンロードできます。実際のニーズに応じた背景を使用して、実際のスクラッチ カード プログラムを完成させるためのプログラムとデータベース
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

HTMLの表の境界線 HTMLの表の境界線 Sep 04, 2024 pm 04:49 PM

HTML の表の境界線に関するガイド。ここでは、HTML でのテーブルの境界線の例を示しながら、テーブル境界線を定義する複数の方法について説明します。

HTML のネストされたテーブル HTML のネストされたテーブル Sep 04, 2024 pm 04:49 PM

これは、HTML でのネストされたテーブルのガイドです。ここでは、テーブル内にテーブルを作成する方法をそれぞれの例とともに説明します。

HTML 左マージン HTML 左マージン Sep 04, 2024 pm 04:48 PM

HTML マージン左のガイド。ここでは、HTML margin-left の概要とその例、およびそのコード実装について説明します。

HTML テーブルのレイアウト HTML テーブルのレイアウト Sep 04, 2024 pm 04:54 PM

HTML テーブル レイアウトのガイド。ここでは、HTML テーブル レイアウトの値と例および出力について詳しく説明します。

HTML 内のテキストの移動 HTML 内のテキストの移動 Sep 04, 2024 pm 04:45 PM

HTML でのテキストの移動に関するガイド。ここでは、概要、マーキー タグが構文でどのように機能するか、および実装例について説明します。

HTML 順序付きリスト HTML 順序付きリスト Sep 04, 2024 pm 04:43 PM

HTML 順序付きリストのガイド。ここでは、HTML 順序付きリストと型の導入とその例についても説明します。

HTML の onclick ボタン HTML の onclick ボタン Sep 04, 2024 pm 04:49 PM

HTML オンクリック ボタンのガイド。ここでは、それらの紹介、動作、例、およびさまざまなイベントでの onclick イベントについてそれぞれ説明します。

HTML入力プレースホルダー HTML入力プレースホルダー Sep 04, 2024 pm 04:54 PM

HTML 入力プレースホルダーのガイド。ここでは、コードと出力とともに HTML 入力プレースホルダーの例について説明します。

See all articles