HTML5 简单实现刮刮乐效果

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="format-detection" content="telephone=no">
<meta name="screen-orientation" content="portrait">
<script src="js/jquery-1.7.2.min.js"></script>
<title>JS刮刮乐</title>
<style>
    .box {
        position: relative;
        width: 200px;
        height: 200px;
        background:url("img/gao1.jpg") no-repeat;
        background-size: 100% 100%;
        text-align: center;
        line-height: 200px;
    }
    #myCanvas{
        position: absolute;
        left:0;
        top:0;
    }
</style>
</head>

<body>
    <div id="box" class="box">

        <canvas id="myCanvas" width="200" height="200"></canvas>
    </div>
<input type="submit" value="再来一次"  onclick="location.reload()"/>
<script type="text/javascript">
 var arr = ["img/aa.png","img/bb.png","img/cc.png","img/dd.png"];
window.onload = function(){
  console.log((Math.random()*3).toFixed(0)+"+"+arr[(Math.random()*3).toFixed(0)]);
  var myCanvas = document.getElementById("myCanvas");
  var can = myCanvas.getContext("2d");
  var X = myCanvas.width;
  var Y = myCanvas.height;
  var oImg = new Image();
  oImg.src = "img/gao4.jpeg";
  var device = /android|iphone|ipad|ipod|webos|iemobile|opear mini|linux/i.test(navigator.userAgent.toLowerCase());
  oImg.onload = function(){
    can.beginPath();
    can.drawImage(oImg,0,0,X,Y);
    can.closePath();
  } 

  var tochstrat = device?"touchstart":"mousedown";
  var tochmove = device?"touchmove":"mousemove";
  var tochend = device?"touchend":"mouseup";

  function draw(event){
      var x = device?event.touches[0].clientX:event.clientX;
      var y = device?event.touches[0].clientY:event.clientY;
      console.log("X:"+x+"Y:"+y);
    can.beginPath();
    //
    can.globalCompositeOperation = "destination-out";
    can.arc(x,y,20,0,Math.PI*2,false);
    can.fill();
    can.closePath();
  }
  myCanvas.addEventListener(tochstrat,function(){
      myCanvas.addEventListener(tochmove,draw,false);
  },false);
  myCanvas.addEventListener(tochend,function(){
      myCanvas.addEventListener(tochmove,draw,false);
  },false);
  $("#box").css("background-image","url("+arr[(Math.random()*3).toFixed(0)]+")");
}
</script>
</body>
</html>

使用HTML5 globalCompositeOperation = "destination-out"; 方法实现的刮刮乐效果

时间: 2024-10-17 02:55:53

HTML5 简单实现刮刮乐效果的相关文章

使用Canvas对象实现“刮刮乐”效果

在淘宝.京东等电商举办活动的时候,经常可以看到在移动客户端推出的各种刮奖活动,而这种活动也受到了很多人的喜爱.从客户端的体验来说,这种效果应该是通过网页来实现的,那么,我们使用Android的自带控件能不能实现这种刮刮乐的效果呢?当然可以,本篇文章将介绍使用Canvas这个对象,如何实现"刮刮乐"的效果. 先看效果图 下面我们看一下如何使用代码实现 布局文件 <FrameLayout xmlns:android="http://schemas.android.com/a

HTML5 CSS3 专题 :canvas 实现彩票刮刮乐

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/34089553 今天给大家带来一个刮刮乐的小例子~基于HTML5 canvas的,有兴趣的可以改成android版本的,或者其他的~ 效果图: 贴一张我中500w的照片,咋办啊,怎么花呢~ 好了,下面开始原理: 1.刮奖区域两个Canvas,一个是front , 一个back ,front遮盖住下面的canvas. 2.canvas默认填充了一个矩形,将下面canvas效果图遮盖

使用HTML5实现刮刮卡效果

原文地址:http://www.phpthinking.com/archives/525 你玩过刮刮卡么?一不小心可以中奖的那种.今天我给大家分享一个基于HTML5技术实现的刮刮卡效果,在PC上只需按住鼠标,在手机上你只需按住指头,轻轻刮去图层就可以模拟真实的刮奖效果. 我们利用HTML5的画布Canvas,结合其提供的API,在Canvas元素上绘制一个灰色蒙层,然后通过检测用户鼠标移到和手势来绘制一个透明的图形,这样就能看到Canvas背景下的真实图片,就达到刮刮卡效果. 点击下载源码 HT

[cocos2d-js]cc.RenderTexture几种用法(数字图片、刮刮乐效果)

[转]http://blog.csdn.net/realcrazysun1/article/details/42393629 本文基于cocos2d-js 3.0版本引擎开发 RenderTexture用法1:数字图片 通过这张图片实现任意数字 //数字图片精灵 var PictureNumber = cc.Sprite.extend({ m_Number:null, m_NumberTexture:null, ctor:function(){ this._super(); }, buildNu

Android实现刮刮乐效果

前几个月刚接触Android的时候做了一个小项目,其中也用到了类似刮刮乐的效果,现在把代码贴出来 首先要做一个类似橡皮擦的东西吧,然后才能把纸上的笔迹擦除 /** * FileName: SplashActivity.java * * @desc 橡皮擦功能,类似刮刮乐效果 * @author HTP * @Date 20140311 * @version 1.00 */ public class Text_Rubbler extends TextView { private float TOU

刮刮乐实现效果

当我们调整好画笔之后,现在需要绘制到画布上,这就得用Canvas类了.在Android中既然把Canvas当做画布,那么就可以在画布上绘制我们想要的任何东西.除了在画布上绘制之外,还需要设置一些关于画布的属性,比如,画布的颜色.尺寸等.下面来分析Android中Canvas有哪些功能,Canvas提供了如下一些方法: Canvas(): 创建一个空的画布,可以使用setBitmap()方法来设置绘制具体的画布. Canvas(Bitmap bitmap): 以bitmap对象创建一个画布,则将内

基于HTML5 canvas的jQuery刮刮卡效果

ScratchIt是一款基于HTML5 canvas的jQuery刮刮卡效果插件.这个刮刮卡效果使用两张图片和canvas来制作,可以使用鼠标擦除上面的图片,将下面的图片显露出来,模拟现实的刮刮卡效果. 效果演示:http://www.htmleaf.com/Demo/201506071985.html 下载地址:http://www.htmleaf.com/html5/html5-canvas/201506071984.html

简单的抽奖刮刮乐

简单的抽奖刮刮乐 简单的抽奖刮刮乐实现Demo 下载地址:http://www.devstore.cn/code/info/793.html 运行截图:  

实现刮刮乐的效果

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <style type="text/css"> * { margin: 0; padding: 0; } </style> </head> <body> <div id="box">