美文网首页
Android:圆角图片

Android:圆角图片

作者: yangSmallXing | 来源:发表于2019-10-11 15:02 被阅读0次

其原理就是:先建立一个与图片大小相同的透明的Bitmap画板
然后在画板上画出一个想要的形状的区域。
最后把源图片帖上。

    /**
     * 圆角
     * @param bitmap
     * @param roundPx 圆角px
     * @return
     */
    public static Bitmap fillet(Bitmap bitmap, int roundPx) {
        try {
            // 其原理就是:先建立一个与图片大小相同的透明的Bitmap画板
            // 然后在画板上画出一个想要的形状的区域。
            // 最后把源图片帖上。
            final int width = bitmap.getWidth();
            final int height = bitmap.getHeight();

            Bitmap paintingBoard = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
            Canvas canvas = new Canvas(paintingBoard);
            canvas.drawARGB(Color.TRANSPARENT, Color.TRANSPARENT, Color.TRANSPARENT, Color.TRANSPARENT);

            final Paint paint = new Paint();
            paint.setAntiAlias(true);
            paint.setColor(Color.BLACK);

            //画出4个圆角
            final RectF rectF = new RectF(0, 0, width, height);
            canvas.drawRoundRect(rectF, roundPx, roundPx, paint);

            paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));

            //帖子图
            final Rect src = new Rect(0, 0, width, height);
            final Rect dst = src;
            canvas.drawBitmap(bitmap, src, dst, paint);
            return paintingBoard;
        } catch (Exception exp) {
            return bitmap;
        }
    }

相关文章

网友评论

      本文标题:Android:圆角图片

      本文链接:https://www.haomeiwen.com/subject/uknlyctx.html