从图片中截取圆形图片

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);

相关推荐