关闭

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

标签: androidBitmap
6216人阅读 评论(10) 收藏 举报
分类:

现在很多Android市场中都能找到关于美女的应用,比如 撕开美女衣服、吹裙子等。

这些应用的下载量挺大的,作为Android的开发人员或者一名技术人员我们不能只局限在欣赏应用的层面,很多时候需要我们去揭开神秘背后的真相,下面我们来看一下如何来开发这样一个类似的撕开美女衣服的应用。

先来看一下效果:



其实这个应用的原理很简单,有两张图片,布局如下:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >
	<ImageView 
	    android:id="@+id/back_img"
	    android:layout_width="wrap_content"
	    android:layout_height="wrap_content"
	    android:layout_gravity="center"
	    android:src="@drawable/back"/>
	<ImageView 
	    android:id="@+id/up_img"
	    android:layout_width="wrap_content"
	    android:layout_height="wrap_content"
	    android:layout_gravity="center"
	    android:src="@drawable/up"/>
</FrameLayout>

上面一张图片是穿着衣服的图片,下面一张图片是撕开衣服的图片。

在Activity中我们先创建一个可以编辑的Bitmap图片对象,然后对该图片中像素点的颜色(透明度)进行改变就实现我们所要的效果了。

package com.example.sikaimeinvyifu;

import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.BitmapFactory.Options;
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 {
	private ImageView backImg;
	private ImageView upImg;
	private Bitmap alterBitmap;
	private Canvas canvas;
	private Paint paint;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		//改变图片大小
		BitmapFactory.Options opts = new Options();
		opts.inSampleSize = 1;
		
		backImg = (ImageView) findViewById(R.id.back_img);
		upImg = (ImageView) findViewById(R.id.up_img);
		//只读的图片
		Bitmap back = BitmapFactory.decodeResource(getResources(), R.drawable.back, opts);
		Bitmap up = BitmapFactory.decodeResource(getResources(), R.drawable.up, opts);
		//可以修改的空白的Bitmap
		alterBitmap = Bitmap.createBitmap(up.getWidth(), up.getHeight(), up.getConfig());
		
		//将alterBitmap作为画布,然后将Bitmap up画到画布上。
		canvas = new Canvas(alterBitmap); 
		paint = new Paint();
		paint.setStrokeWidth(5);
		paint.setColor(Color.BLACK);
		canvas.drawBitmap(up, new Matrix(), paint);
		
		
		backImg.setImageBitmap(back);
		upImg.setImageBitmap(alterBitmap);
		
		upImg.setOnTouchListener(new OnTouchListener() {
			
			@Override
			public boolean onTouch(View v, MotionEvent event) {
				switch (event.getAction()) {
				case MotionEvent.ACTION_MOVE:
					int x = (int) event.getX();
					int y = (int) event.getY();
					System.out.println(x);
					System.out.println(y);
					for(int i=-5; i<5; i++){
						for(int j=-5; j<5; j++){
							//更改画布上该像素点的颜色
							alterBitmap.setPixel(i + x, j + y, Color.TRANSPARENT);
						}
					}
					//重新绘制到ImageView上面
					upImg.setImageBitmap(alterBitmap);
					break;

				default:
					break;
				}
				return true;
			}
		});
	}
}

源代码下载地址:http://download.csdn.net/detail/lxq_xsyu/6744849

10
0
查看评论

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

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

android(40)(撕衣服,bitmap的使用)

1.撕衣服: public class MainActivity extends Activity { private ImageView iv; // 可以修改的位图 private Bitmap alertBitmap; private Canvas canvas...
  • u014756517
  • u014756517
  • 2015-12-07 17:32
  • 183

Android 仿美女撕衣服效果

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

Android之Canvas撕衣服

前几篇都涉及到了Canvas,Paint,Bitmap的结合使用,这里就不多说了~ 现在我要写的是撕衣服的这个项目~ 其实这个项目只是涉及到了一张图片到另一张图片的变换 先看效果图: 布局文件也是俩张图片,一张穿了衣服的图片在没穿衣服的图片上面~ 布局代码: <RelativeLayout...
  • qq_33642117
  • qq_33642117
  • 2016-07-06 14:53
  • 533

撕开美女衣服源代码

  • 2013-12-20 13:12
  • 1.60MB
  • 下载

撕衣服代码IOS

  • 2015-10-20 20:26
  • 932KB
  • 下载

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

现在很多Android市场中都能找到关于美女的应用,比如 撕开美女衣服、吹裙子等。 这些应用的下载量挺大的,作为Android的开发人员或者一名技术人员我们不能只局限在欣赏应用的层面,很多时候需要我们去揭开神秘背后的真相,下面我们来看一下如何来开发这样一个类似的撕开美女衣服的应用。 先来看一下效果:...
  • lxq_xsyu
  • lxq_xsyu
  • 2013-12-20 13:20
  • 6216

Android安卓开发源码案例教程美女撕衣服Demo

  • 2013-05-18 11:02
  • 3.91MB
  • 下载

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

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

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

游戏99.9%都是程序猿写的,为什么玩游戏的人99.9%都不是程序猿? 有人说,咱是操着卖白粉的心,挣着卖白菜的钱!!! 有人说,每个IT产品和应用背后都是无数程序猿的血与泪!! 有人说,每个程序猿上辈子都是折了护翼的卫生巾!!! 程序猿,伤不起!!! 弄了个让亲们放松的HTM...
  • cuixiping
  • cuixiping
  • 2011-12-29 13:59
  • 4979
    个人资料
    • 访问:1766395次
    • 积分:26061
    • 等级:
    • 排名:第271名
    • 原创:418篇
    • 转载:85篇
    • 译文:9篇
    • 评论:932条
    吉格斯实验室(微信公众号)
    交流与讨论

    编程爱好者讨论组欢迎你加入

    群一 爱编程-爱生活 群二 android学习交流群
    博客专栏
    推荐网站
    最新评论
    百度统计