多媒體--美女脫衣核心代碼

package com.pas.takeoff;

import java.util.Random;
import java.util.Formatter.BigDecimalLayoutForm;

import android.os.Bundle;
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.view.Menu;
import android.view.MotionEvent;
import android.view.View;
import android.view.WindowManager;
import android.view.View.OnTouchListener;
import android.widget.ImageView;

public class MainActivity extends Activity
{

	private ImageView iv_before;
	private Bitmap basebitmap;
	private Bitmap alterbitmap;

	@Override
	protected void onCreate(Bundle savedInstanceState)
	{
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		iv_before = (ImageView) findViewById(R.id.girl_before);
		// 圖像對象
		basebitmap = BitmapFactory.decodeResource(this.getResources(), R.drawable.girl_before);
		alterbitmap = Bitmap.createBitmap(basebitmap.getWidth(), basebitmap.getHeight(), basebitmap.getConfig());
		Canvas canvas = new Canvas(alterbitmap);
		Paint paint = new Paint();
		paint.setStrokeWidth(5);
		paint.setColor(Color.BLACK);
		canvas.drawBitmap(basebitmap, new Matrix(), paint);

		iv_before.setImageBitmap(alterbitmap);
		// 得知手指移動軌跡
		iv_before.setOnTouchListener(new OnTouchListener()
		{
			// 手指開始的座標
			int startX = 0;
			int startY = 0;

			@Override
			public boolean onTouch(View v, MotionEvent event)
			{

				switch (event.getAction())
				{
				// 首次接觸屏幕
				case MotionEvent.ACTION_DOWN:
					System.out.println("手指按下……");
					startX = (int) event.getX();
					startY = (int) event.getY();
					alterbitmap.setPixel(startX, startY, Color.TRANSPARENT);
					break;
				// 手指移動
				case MotionEvent.ACTION_MOVE:
					System.out.println("手指移動……");
					int newX = (int) event.getX();
					int newY = (int) event.getY();

					// 覆蓋度區域置爲透明
					for (int i = -10; i < 11; i++)
					{
						for (int j = -10; j < 11; j++)
						{
							int x = newX + i;
							int y = newY + j;
							if (x >= alterbitmap.getWidth() || y >= alterbitmap.getHeight() || x < 0 || y < 0)
							{
								continue;
							} else
							{
								alterbitmap.setPixel(x, y, Color.TRANSPARENT);
							}

						}
					}
					iv_before.setImageBitmap(alterbitmap);
					break;
				default:
					break;
				}
				return true;
			}

		});
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu)
	{
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

}
相關文章
相關標籤/搜索