好用,呵呵(http://www.eoeandroid.com/thread-103093-1-1.html)
int targetWidth = 100; int targetHeight = 100; Bitmap targetBitmap = Bitmap.createBitmap( targetWidth, targetHeight, Bitmap.Config.ARGB_8888); Canvas canvas = new Canvas(targetBitmap); Path path = new Path(); path.addCircle( ((float)targetWidth - 1) / 2, ((float)targetHeight - 1) / 2, (Math.min(((float)targetWidth), ((float)targetHeight)) / 2), Path.Direction.CCW); canvas.clipPath(path); Bitmap sourceBitmap = BitmapFactory.decodeResource( getResources(), R.drawable.my_image); canvas.drawBitmap( sourceBitmap, new Rect(0, 0, sourceBitmap.getWidth(), sourceBitmap.getHeight()), new Rect(0, 0, targetWidth, targetHeight), null); ImageView imageView = (ImageView)findViewById(R.id.my_image_view); imageView.setImageBitmap(targetBitmap);