55.模拟撕衣服游戏编辑图片

842人阅读 评论(0) 收藏 举报
分类:

撕衣服游戏的原理:原本有2个图片,一个原图片,一个被撕了衣服以后的图片。两个图片放在一起,原图片放在上面,收滑动的时候上面图片的像素点设置成透明,下面的图片自然露出来了。

布局文件

activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/xiatu" />
    <ImageView
        android:id="@+id/iv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/shangtu" />
</RelativeLayout>

MainActivity.java

package com.ldw.siyifu;

import android.R.color;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Matrix;
import android.graphics.Paint;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.widget.ImageView;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        //获取到原图片
        Bitmap bitSrc = BitmapFactory.decodeResource(getResources(), R.drawable.awaiyi);
        //创建外衣副本
        final Bitmap bitCopy = Bitmap.createBitmap(bitSrc.getWidth(), bitSrc.getHeight(), bitSrc.getConfig());
        Paint paint = new Paint();
        Canvas canvas = new Canvas(bitCopy);
        canvas.drawBitmap(bitSrc, new Matrix(), paint);
        
        final ImageView iv = (ImageView) findViewById(R.id.iv);
        iv.setImageBitmap(bitCopy);
        
        iv.setOnTouchListener(new OnTouchListener(){

			@Override
			public boolean onTouch(View v, MotionEvent event) {
				int action = event.getAction();
				switch(action){
				//触摸屏幕
				case MotionEvent.ACTION_DOWN:
					
					break;
				//屏幕上移动
				case MotionEvent.ACTION_MOVE:
					int x = (int) event.getX();
					int y = (int) event.getY();
					//限制编辑的区域,在图片的区域内才允许编辑
					if(x <= bitCopy.getWidth() && y<= bitCopy.getHeight()){
					//隐藏不止一个像素点,把周围的像素点都隐藏
					for(int i = -5; i <= 5; i++){
						for(int j = -5; j <= 5; j++){
							//涂抹的像素点是一个圆形
							if( i*i + j*j <= 25){
								//防止越界,上下左右设置边界
								if( x + i < bitCopy.getWidth() && y + j < bitCopy.getHeight() && x + i > 0 && y + j > 0){
								//用户滑动过的坐标设置成透明
								bitCopy.setPixel(x + i , y + j, Color.TRANSPARENT);
								iv.setImageBitmap(bitCopy);
								}
							}

						}
					}

					}
					break;
				//离开屏幕
				case MotionEvent.ACTION_UP:
					
					break;
				}
				//true:告诉系统,这个事件由自己处理,
				//false:告诉系统,事件由自己处理,系统会把触摸事件发送到iamgeView的父节点
				return true;
			}
        	
        });
        
        
    }


}


查看评论

扒美女衣服——妄撮游戏实现原理

扒美女衣服原版来自日本妄撮游戏,现在介绍一下它的实现原理。 1、两张美女图片,一张穿着衣服,一张没穿衣服。 2、采用FrameLayout将穿衣服的图片放在上面,没穿衣服的放在下面 3、当触摸图片时,...
  • axiaoquan
  • axiaoquan
  • 2014-05-15 16:05:56
  • 1111

iPhone撕衣服游戏-图片擦除

原理:        撕衣服游戏的原理就是用两张几乎一样的照片(两张照片的区别就是一张比较保守,一张比较开放,实质是设计师在原本开放的模特照片上P了一层衣服),把开放的图片放在下面,把保守的图片放在...
  • bao_libra
  • bao_libra
  • 2016-05-11 10:16:07
  • 2919

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

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

55.模拟撕衣服游戏编辑图片

撕衣服游戏的原理:原本有2个图片,一个原图片,一个被撕了衣服以后的图片。两个图片放在一起,原图片放在上面,收滑动的时候上面图片的像素点设置成透明,下面的图片自然露出来了。 布局文件 activity_...
  • augfun
  • augfun
  • 2017-02-17 02:43:18
  • 842

19_Android中图片处理原理篇,关于人脸识别网站,图片加载到内存,图片缩放,图片翻转倒置,网上撕衣服游戏案例编写

http://blog.csdn.net/tototuzuoquan/article/details/46948469
  • chun1234567
  • chun1234567
  • 2015-07-21 21:00:58
  • 389

19、撕衣服(其实就是两张图片叠在一起)

--------------------------main.java----------------------------- package com.example.jiu; ...
  • u010919133
  • u010919133
  • 2015-03-18 21:34:45
  • 583

自定义View 实现 刮刮卡效果和美女撕衣服

直奔高潮,不对,直奔主题。 效果图: 下面上代码: public class TearView extends View { private Paint paint,paintB; ...
  • zhuwentao16
  • zhuwentao16
  • 2016-03-15 16:15:55
  • 463

19_Android中图片处理原理篇,关于人脸识别网站,图片加载到内存,图片缩放,图片翻转倒置,网上撕衣服游戏案例编写

http://blog.csdn.net/tototuzuoquan/article/details/46948469
  • chun1234567
  • chun1234567
  • 2015-07-21 21:00:58
  • 389

Android小游戏应用---撕破美女衣服游戏

ImageView after; ImageView before; @Override protected void onCreate(Bundle savedInstanceState) {...
  • andywuchuanlong
  • andywuchuanlong
  • 2014-05-17 16:58:53
  • 1559

手放开游戏(擦衣服游戏)项目源码

下载完代码后请把podfile里面的注释去掉 然后重新pod install --verbose --no-repo-update 以前小时候玩过得一个擦衣服游戏 哈哈 各位娱乐的时候可以玩玩 ...
  • lituanjieba
  • lituanjieba
  • 2016-03-03 09:21:38
  • 418
    个人资料
    持之以恒
    等级:
    访问量: 12万+
    积分: 3781
    排名: 1万+
    最新评论