刮刮卡效果

2021-07-11 19:06:50 字數 1318 閱讀 1070

import android.content.context;

import android.graphics.bitmap;

import android.graphics.bitmapfactory;

import android.graphics.canvas;

import android.graphics.color;

import android.graphics.paint;

import android.graphics.path;

import android.graphics.pixelxorxfermode;

import android.graphics.porterduff;

import android.graphics.porterduffxfermode;

import android.graphics.xfermode;

import android.util.attributeset;

import android.view.motionevent;

import android.view.view;

/** * created by administrator on 2016/5/13.

*/public class xor extends view

public xor(context context, attributeset attrs)

public xor(context context, attributeset attrs, int defstyleattr)

bitmap d;

public void init()

@override

public boolean ontouchevent(motionevent event)

invalidate();

return true;

}@override

protected void ondraw(canvas canvas) }

**如上.

原理:實現擦除效果需要乙個蒙版,將蒙版遮蓋在原圖上,就可以實現刮刮樂了

重點在蒙版的實現:

1、建立乙個畫布,並設定成灰色

2、記錄軌跡path,並利用混合效果使得path 記錄的地方經過運算alpha通道為0,(dst_in 和alpha =0)

paint.setalpha(0);

porterduffxfermode xfermode1 = new porterduffxfermode(porterduff.mode.dst_in);

刮刮卡效果

利用兩個canvas 疊加,從而實現刮刮卡效果。canvas id downcanvas canvas canvas id upcanvas canvas container page main article section upcanvas touchy.js是用於移動端觸控事件的封裝外掛程式。...

qt qml 刮刮卡效果

用canvas mousearea實現的刮刮卡效果。表層是一層色彩,用手指劃開,可看到下面的文字 lisence mit,請保留本文件說明 author surfsky.cnblogs.com 2015 02 先看效果 核心 1 canvas 18else23 2425 清除圓形區域 26funct...

canvas實現刮刮卡效果

目前在html5和css3的熱潮下,html頁面的效果也是層出不窮,下面我們來介紹使用canvas來模仿刮獎刮開效果。原理在需要刮出的或者文字上方蓋上一層灰色或者其他背景的canvas畫布,當手指或者滑鼠點選畫布並移動時,將畫布上移動過的軌跡變成透明即可。分析demo中在class為content的...