protected void onDraw(Canvas cvs){
Paint paint = new Paint();
paint.setColor(Color.argb(iA, iR, iG, iB));
Bitmap iOrigin = getImage(R.drawable.img_test);
Bitmap iResize = resizeImage(iOrigin, 50, 200);
Bitmap iClip = clipImage(iOrigin, 21,5, 58, 32);
cvs.drawBitmap(iOrigin, 0, 0, paint);
cvs.drawBitmap(iResize, iOrigin.getWidth(), 0, paint);
cvs.drawBitmap(iClip, iOrigin.getWidth()+iResize.getWidth(), 0, paint);
}
/**
* Get Bitmap
* @param resId Resource ID
* @return 비트맵 넘겨주기
*/
public Bitmap getImage(int resId){
return BitmapFactory.decodeResource(getResources(), resId);
}
/**
* Resize Bitmap
* @param origin 원본 비트맵
* @param width 변경할 비트맵의 가로 사이즈
* @param height 변경할 비트맵의 세로 사이즈
* @return 변경된 비트맵 넘겨주기
*/
public Bitmap resizeImage(Bitmap origin, int width, int height){
return Bitmap.createScaledBitmap(origin, width, height, true);
}
/**
* Clip Bitmap
* @param origin 원본 비트맵
* @param sx 원본이미지에서 자를곳의 시작 x 위치
* @param sy 원본이미지에서 자를곳의 시작 y 위치
* @param cw x,y 위치부터 자를 가로 크기
* @param ch x,y 위치부터 자를 세로 크기
* @return 원본 비트맵에서 자른 부분 넘겨주기
*/
public Bitmap clipImage(Bitmap origin, int sx, int sy, int cw, int ch){
return origin.createBitmap(origin, sx, sy, cw, ch);
}
|