스트레이트에서 나는 지금 일하고있다!
cropped = Bitmap.createBitmap(main,x,y,width,height);
타일 클래스는 매우 간단하다 :
Bitmap main = BitmapFactory.decodeResource(getResources(), R.drawable.puzzle);
if(main.getHeight() > main.getWidth()){
rescalefactor =((float)screenHeight)/main.getHeight();}
else {
rescalefactor = ((float)screenWidth)/main.getWidth();
}
main = Bitmap.createScaledBitmap(main,(int)(main.getWidth()*rescalefactor),(int)(main.getHeight()*rescalefactor), false);
Bitmap cropped;
LinearLayout layout[] = new LinearLayout[rows];
int x=0,y=0,i=0,j=0,width=main.getWidth()/column,height=main.getHeight()/rows;
int count = 1;
for(i=0;i<rows;++i)
{
layout[i] = new LinearLayout(this);
for(j=0;j<column;++j)
{
cropped = Bitmap.createBitmap(main,x,y,width,height);
image[i][j] = new Tile(this);
image[i][j].setImageBitmap(cropped);
image[i][j].row =i;image[i][j].column =j;
image[i][j].setPadding(1, 1, 1, 1);
image[i][j].setOnClickListener(this);
image[i][j].setDrawingCacheEnabled(true);
image[i][j].setId(count); count++;
layout[i].addView(image[i][j]);
x += width;
}
x = 0; y += height;
root.addView(layout[i]);
}
이
는 일이 정말 이루어집니다 라인입니다. 행과 열 필드 그냥 확장 된 이미지 뷰 :
public class Tile extends ImageView {
public int row, column;
public Tile(Context context)
{ super(context);}
}
이미지를 자르지 않고도 이미지의 일부만 그릴 수 있습니다. [Canvas에 이미지 부분 그리기] (http://stackoverflow.com/questions/12946609/draw-portion-of-image-on) -canvas) –
Heh. 이것은 "페이 스북 (Facebook)"채용 동기와 같이 들립니다 ... –
페이 스북에 대해 아무것도 모릅니다, 미안합니다 – Olijf