-8

如何使此代码正常工作?我想把一张图片变成一个crycle,我在这个网站上找到了这个代码,但它没有说明如何使用它......有人有什么想法吗?

在Android中从位图中裁剪圆形区域

public Bitmap getCroppedBitmap(Bitmap bitmap) {
    Bitmap output = Bitmap.createBitmap(bitmap.getWidth(),
            bitmap.getHeight(), Config.ARGB_8888);
    Canvas canvas = new Canvas(output);

    final int color = 0xff424242;
    final Paint paint = new Paint();
    final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());

    paint.setAntiAlias(true);
    canvas.drawARGB(0, 0, 0, 0);
    paint.setColor(color);
    // canvas.drawRoundRect(rectF, roundPx, roundPx, paint);
    canvas.drawCircle(bitmap.getWidth() / 2, bitmap.getHeight() / 2,
            bitmap.getWidth() / 2, paint);
    paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));
    canvas.drawBitmap(bitmap, rect, rect, paint);
    //Bitmap _bmp = Bitmap.createScaledBitmap(output, 60, 60, false);
    //return _bmp;
    return output;
}
4

2 回答 2

0

假设您有一个要使用的drawable?

image对象 - 可以是 ImageView :

Bitmap bitImg = BitmapFactory.decodeResource(getResources(),
    R.drawable.YOUR_DRAWABLE_NAME);
image.setImageBitmap(getCroppedBitmap(bitImg));
于 2013-02-10T20:10:16.097 回答
0

您将您的drawable转换为位图,将其传入并将其设置为ImageView(我假设这是您想要的):

Bitmap myDrawable = BitmapFactory.decodeResource(getResources(), R.drawable.myDrawable);

myImageView.setImageBitmap(getCroppedBitmap(myDrawable));
于 2013-02-10T20:11:04.003 回答