Android华容道之一步一步实现-2-图片分割
因?yàn)槿A容道是16個(gè)格子,所以要把一張大一點(diǎn)的圖片分割成16個(gè)相等的小圖片。
可以使用Bitmap.createBitmap方法來進(jìn)行。
直接上代碼
ori_bitmap = BitmapFactory.decodeResource(getResources(),R.drawable.koala);
原始圖片
下面對(duì)原始圖片進(jìn)行切分,分為16張
?? ???? ori_bitmap = BitmapFactory.decodeResource(getResources(),R.drawable.koala);
?? ??? ?int width = ori_bitmap.getWidth();
?? ??? ?int height = ori_bitmap.getHeight();
?? ??? ?int new_width = width / 4;
?? ??? ?int new_height = height /4;
?? ??? ?Matrix matrix = new Matrix();
?? ??? ?matrix.postScale(0.5f,0.5f);
?? ??? ?bitmap_width = new_width /2;
?? ??? ?bitmap_height = new_height /2;
?? ??? ?for(int i=0;i<4;i++)
?? ??? ?{
?? ??? ??? ?for(int j=0;j<4;j++)
?? ??? ??? ?{
?? ??? ??? ??? ?bitmaps[i*4+j] = Bitmap.createBitmap(ori_bitmap,new_width * j,new_height *i , new_width, new_height,matrix,true);
?? ??? ??? ?}
?? ??? ?}
顯示分割后的圖片
?? ???? @Override
?? ??? ?public void draw(Canvas canvas) {
?? ??? ??? ?super.draw(canvas);
?? ??? ??? ?//canvas.drawColor(Color.RED); ?
?? ??? ???? paint.setStrokeWidth((float) 5.0); ?
?? ??? ??? ?int offset_x = 100;
?? ??? ??? ?int offset_y = 100;
?? ??? ??? ?for (int i = 0; i < 4; i++) {
?? ??? ??? ??? ?int x = offset_x? ;
?? ??? ??? ??? ?int y = offset_y + bitmap_height * i;
?? ??? ??? ??? ?
?? ??? ??? ??? ?
?? ??? ??? ??? ?for (int j = 0; j < 4; j++)
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?Bitmap bitmap = bitmaps[i*4+j];
?? ??? ??? ??? ??? ?int x_1 = offset_x + j*bitmap.getWidth();
?? ??? ??? ??? ??? ?int y_1 = offset_y+i * bitmap.getHeight();
?? ??? ??? ??? ??? ?canvas.drawBitmap(bitmap, x_1 ,y_1 , paint);?? ??? ?
?? ??? ??? ??? ??? ?canvas.drawLine(x_1, y_1, x_1, y_1+ bitmap_height, paint);
?? ??? ??? ??? ?}
?? ??? ??? ??? ?canvas.drawLine(x, y, x + bitmap_width * 4, y, paint);
?? ??? ??? ??? ?
?? ??? ??? ?}
?? ??? ?}
除了顯示圖片之外,還繪制了幾條邊框線,為后面的華容道的實(shí)現(xiàn)打下外觀基礎(chǔ)。
實(shí)現(xiàn)后的效果如下圖所示:
?
下一步
Android華容道之一步一步實(shí)現(xiàn)-3 -手指觸摸處理
?
總結(jié)
以上是生活随笔為你收集整理的Android华容道之一步一步实现-2-图片分割的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android华容道之一步一步实现-序言
- 下一篇: Android华容道之一步一步实现-3