为什么我无法为ImageView设置圆角?

时间:2018-04-05 19:49:57

标签: java android gaussian rounded-corners

我正在制作一个发射器,我希望底座看起来像这样:

enter image description here

如您所见,该扩展坞有两个主要功能。

1)高斯模糊

2)圆角

对于圆角,我使用了以下代码:

RoundedBitmapDrawable RBD = RoundedBitmapDrawableFactory.create(getResources(), bmp);

RBD.setCornerRadius(40.0f);

RBD.setAntiAlias(true);

其中bmp是Image的底部(我以编程方式裁剪)

对于高斯模糊,我使用了API

GaussianBlur.with(this).size(80).radius(25).put(croppedDrawable, dock);

其中,croppedDrawable可以绘制图像底部的裁剪位图。

以下是完整代码:

//Cropping image to fit the dimensions of the dock
            bmp.setDensity(Bitmap.DENSITY_NONE);
            bmp = Bitmap.createBitmap(bmp, 0, (int) dock.getY(), Resources.getSystem().getDisplayMetrics().widthPixels, dock.getHeight());
        //Rounded Corners
        RoundedBitmapDrawable RBD = RoundedBitmapDrawableFactory.create(getResources(), bmp);

        //The radius of corners
        RBD.setCornerRadius(40.0f);

        //I have no idea why this is used
        RBD.setAntiAlias(true);

        //Now that the image has roundedCorners, Gaussian blur can be applied
        //For this, I have to convert RBD to a drawable. It cannot be cast 
        //directly, hence, I am first converting it to a bitmap and then to
        //a drawable

        Bitmap bmp2 = RBD.getBitmap();
        Drawable croppedGaussianDrawable = new BitmapDrawable(getResources(), bmp2);
        GaussianBlur.with(this).size(80).radius(25).put(croppedGaussianDrawable, dock);

出了点问题,因为我得到的输出是:

enter image description here

只有高斯模糊已应用于底座。 我不知道错误是什么。我尝试过使用其他方法,但它们毫无用处。

有人可以告诉我代码有什么问题吗?我哪里错了?为什么码头图像的角落不圆?

0 个答案:

没有答案