Android 撕开美女衣服解析

原创 2016年05月15日 23:05:54

一、原理:
现在教大家做一款在市场上非常火的的应用,撕美女衣服。其实原理很简单:
1.准备两张一样的图片,一张是穿有衣服的,另一张是没有穿衣服的。
2.通过FrameLayout进行布局,穿衣服的放上面,没穿衣服的图片放下面。
3.通过触摸事件进行判断,手指划过的地方,让穿衣服的图片变成透明,就显示到了下面没穿衣服的图片。

二、效果图片:

三、源码:

/**
 * @描述         扒开美女衣服
 * @项目名称      App_Basic
 * @包名         com.example.basic.image
 * @类名         GameImageActivity
 * @author      chenlin
 * @date        2014-3-20 下午4:42:28
 * @version     1.0
 */

public class GameImageActivity extends BaseActivity implements OnTouchListener {
    //定义上下两张视图控件
    private ImageView mBackImg, mUpImg;
    //用来绘图的图片
    private Bitmap mChangeBitmap;
    //画板
    private Canvas mCanvas;
    //画笔
    private Paint mPaint;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_game_image);

        initViews();

        drawBitmap();

        mUpImg.setOnTouchListener(this);
    }

    public void drawBitmap() {
        //改变图片大小
        BitmapFactory.Options opts = new Options();
        opts.inSampleSize = 2;

        //只读的图片
        Bitmap backBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.p1, opts);
        Bitmap upBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.p2, opts);
        //可以修改的空白的Bitmap
        mChangeBitmap = Bitmap.createBitmap(upBitmap.getWidth(), upBitmap.getHeight(), upBitmap.getConfig());

        //将mChangeBitmap作为画布,
        mCanvas = new Canvas(mChangeBitmap);
        mPaint = new Paint();
        mPaint.setColor(Color.BLACK);
        mPaint.setAntiAlias(true);
        mPaint.setStrokeWidth(5);
        //将upBitmap画到画布上。
        mCanvas.drawBitmap(upBitmap, new Matrix(), mPaint);

        //把图片设置到控件里
        mBackImg.setImageBitmap(backBitmap);
        mUpImg.setImageBitmap(mChangeBitmap);
    }

    public void initViews() {
        mBackImg = (ImageView) findViewById(R.id.iv_back);
        mUpImg = (ImageView) findViewById(R.id.iv_up);
    }

    @Override
    public boolean onTouch(View v, MotionEvent event) {
        switch (event.getAction()) {
        case MotionEvent.ACTION_MOVE:
            int moveX = (int) event.getX();
            int moveY = (int) event.getY();
            for (int i = -5; i < 5; i++) {
                for (int j = -5; j < 5; j++) {
                    //更改画布上该像素点的颜色
                    mChangeBitmap.setPixel(i + moveX, j + moveY, Color.TRANSPARENT);
                }
            }
            //重新绘制到ImageView上面
            mUpImg.setImageBitmap(mChangeBitmap);
            break;
        }
        return true;
    }

}

四、布局文件:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <ImageView
        android:id="@+id/iv_back"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scaleType="fitXY"
        android:background="@drawable/p2" />

    <ImageView
        android:id="@+id/iv_up"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scaleType="fitXY"
        android:background="@drawable/p1"
         />

</FrameLayout>
版权声明:本文为博主原创文章,未经博主允许不得转载。

Android应用《撕开美女衣服》的实现过程及源代码

现在很多Android市场中都能找到关于美女的应用,比如 撕开美女衣服、吹裙子等。 这些应用的下载量挺大的,作为Android的开发人员或者一名技术人员我们不能只局限在欣赏应用的层面,很多时候需要我们...
  • lxq_xsyu
  • lxq_xsyu
  • 2013年12月20日 13:20
  • 6216

撕掉美女衣服安卓游戏开发(GridView实现画廊效果,带注释)

文章是通过观看黑马
  • lxz26192
  • lxz26192
  • 2014年08月23日 09:32
  • 1050

HTML5游戏:《撕掉MM的衣服》

游戏99.9%都是程序猿写的,为什么玩游戏的人99.9%都不是程序猿? 有人说,咱是操着卖白粉的心,挣着卖白菜的钱!!! 有人说,每个IT产品和应用背后都是无数程序猿的血与泪!! 有人说,每...
  • cuixiping
  • cuixiping
  • 2011年12月29日 13:59
  • 4979

撕美女衣服应用的原理及做法

现在教大家做一款在市场上非常火的的应用,撕美女衣服。其实原理很简单: 1.准备两张一样的图片,一张是穿有衣服的,另一张是没有穿衣服的。 2.通过FrameLayout进行布局,穿衣服的放上面,没穿衣服...
  • loongggdroid
  • loongggdroid
  • 2014年01月21日 12:32
  • 8092

撕开美女的衣服

public class MainActivity extends Activity { private ImageView iv_back; private ImageView iv_up; ...
  • oyty892968
  • oyty892968
  • 2013年09月07日 16:45
  • 612

Android 仿美女撕衣服效果

因为我写demo的时候不是用一整屏幕来放置当前图片View的,且资源图也不小,所以用到了bitmap缩放 代码注释比较详尽,直接上了 package com.stone.guaguaka.view...
  • jjwwmlp456
  • jjwwmlp456
  • 2016年01月28日 15:17
  • 1527

Android:简单实现美女扒衣服小游戏

实现思路 说说实现的大概思路,首先要有两副图片。这两幅图片的区别就在于一副有穿衣服,另外一副没有穿衣服,其他的细节都要一模一样。这对于懂ps的童鞋就好办啦自己动手制作就好了。但是本文为了照顾不懂ps的...
  • javy_codercoder
  • javy_codercoder
  • 2015年11月20日 21:59
  • 855

Android 撕衣服(刮刮乐游戏)

项目简介:  该项目为撕衣服,类似刮刮乐游戏详细介绍:用户启动项目后,加载一张图片,当用户点击图片的时候,点击的一片区域就会消失,从而显示出在这张图片下面的图片 这个小游戏类似与刮奖一样,刮开涂层就...
  • qq_36642554
  • qq_36642554
  • 2017年04月01日 21:26
  • 3851

ps实例一:如何使用通道扣取人物的头发丝?

使用通道扣取人物的头发丝
  • sytweibo
  • sytweibo
  • 2010年06月17日 10:57
  • 7245

2b偷瞄未穿内衣的大胸女 看到下面我吐血了

2b偷瞄未穿内衣的大胸女 看到下面我吐血了 点击图片即可观看 ↓↓↓↓↓↓↓↓ ☀小心你的手机~~太可怕了!手机信号能爆爆米花 ☀恶搞~刘德华:谢谢你的爱!听三遍,你还记得原唱么?...
  • QQ179723568
  • QQ179723568
  • 2012年12月21日 15:56
  • 610
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android 撕开美女衣服解析
举报原因:
原因补充:

(最多只允许输入30个字)