package sprite;

import android.graphics.Bitmap;
import android.graphics.Bitmap.Config;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;


public class ImageRect {
/*
* 1) 新建一个在app.sprite包下的类ImageRect； 
 2) 声明一个图片类的成员变量（Bitmap myRect）；
 3) 声明并创建一个画笔类对象（Paint p = new Paint();
 4) 声明这张切片图的行列位置（int xLine,yLine;）；
 5) 声明一个公有的静态的方块图片长宽int类型变量（public static int rectW,rectH;）；
 6) public ImageRect(Bitmap currentImg, int size,int id)重写构造方法，传入三个参数.
            其中currentImg是指当前关卡的图片
	 * ，size是指切分块数，3×3、4×4、5×5对应的size值分别是3、
	 * 4、5，而id是指小图块对应整张大图位置的标志值，
7) 重写构造方法，在新建ImageRect类对象时给xLine、yLine属性赋值
8)重写构造方法，在新建ImageRect类对象时给rectW、rectH属性赋值； 
9)判断当前图块的id，如该图块不是最右下角的那块，则通过传入的currentImg在它的rectW*xLine,
	 * rectH*yLine位置裁取宽为rectW
	 * 、高为rectH的一块图块赋值给myRect；使该图块恰好是最右下角那块，则创建一张rectW宽rectH高的图块myRect
	 * ，获得它的Canvas并填满白色； 
10) 在ImageRect类里实现绘制的方法public void paint(Canvas cc,int
	 * x,int y,Paint p)，使用画笔p在cc画布的x、y位置绘制myRect图片；
	 */
	//声明一个图片类的成员变量,代表一个小块中的图片
	Bitmap myBitmap;
	Paint paint=new Paint();
	int xLine,yLine;
	public static int rectW,rectH;
	ImageRect myRect;
	public ImageRect(Bitmap currentImg,int size,int id) {
		// TODO Auto-generated constructor stub
		xLine=id%size;
		yLine=id/size;
		rectH=currentImg.getHeight()/size;
		rectW=currentImg.getWidth()/size;
		if (id!=(size*size-1)) {
			myBitmap=Bitmap.createBitmap(currentImg, xLine*rectW, yLine*rectH, rectW, rectH);
		}else {
			
			myBitmap=Bitmap.createBitmap(rectW, rectH, Config.ARGB_8888);
			Canvas tempc=new Canvas(myBitmap);
			tempc.drawColor(Color.GRAY);
		}
		
	}
	public  void paint(Canvas canvas,int x,int y,Paint paint){
		canvas.drawBitmap(myBitmap, x, y, paint);
		
	}
	
}
