如何将方形图像转换为椭圆形

raj*_*aju 0 android android-layout

在我的应用程序中,我从图库中获取图像,并且该图像的形状在正方形中我想将该图像设置为imageView然后它应该是椭圆形状.即在我的情况下,我需要裁剪像人脸一样的图像.任何人都可以提前告诉我如何做到这一点.

Hus*_*ain 5

使用以下类而不是图像视图.

 RoundedCornerImageView imageView1;
 imageView1.setRadius(10);
Run Code Online (Sandbox Code Playgroud)

这将使图像半径为10像素,您可以给出您想要的值,并将其作为您想要的形状.试试.

祝一切顺利 :)

public class RoundedCornerImageView extends ImageView {
    private int radius = 10;

    public RoundedCornerImageView(Context context) {
        super(context);
    }

    protected void onDraw(Canvas canvas) {
        Path clipPath = new Path();
        int w = this.getWidth();
        int h = this.getHeight();
        clipPath.addRoundRect(new RectF(0, 0, w, h), radius, radius, Path.Direction.CW);
        canvas.clipPath(clipPath);
        super.onDraw(canvas);
    }

    public RoundedCornerImageView(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
    }

    public RoundedCornerImageView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public void setRadius(int radius){
        this.radius = radius;
        this.invalidate();
    }
}
Run Code Online (Sandbox Code Playgroud)