Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android應用《撕開美女衣服》的實現過程及源代碼

Android應用《撕開美女衣服》的實現過程及源代碼

編輯:關於Android編程

現在很多Android市場中都能找到關於美女的應用,比如 撕開美女衣服、吹裙子等。

這些應用的下載量挺大的,作為Android的開發人員或者一名技術人員我們不能只局限在欣賞應用的層面,很多時候需要我們去揭開神秘背後的真相,下面我們來看一下如何來開發這樣一個類似的撕開美女衣服的應用。

先來看一下效果:


\


<喎?/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+xuTKtdXiuPbTptPDtcTUrcDtuty88rWlo6zT0MG91cXNvMaso6yyvL7WyOfPwqO6PC9wPgo8cD48cHJlIGNsYXNzPQ=="brush:java;"><frameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" > </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

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved