广告
返回顶部
首页 > 资讯 > 移动开发 >Android实现圆形图片小工具
  • 373
分享到

Android实现圆形图片小工具

2024-04-02 19:04:59 373人浏览 独家记忆
摘要

本文实例为大家分享了Android实现圆形图片小工具的具体代码,供大家参考,具体内容如下 1.CircleImageView类代码 public class CircleImageV

本文实例为大家分享了Android实现圆形图片小工具的具体代码,供大家参考,具体内容如下

1.CircleImageView类代码

public class CircleImageView extends androidx.appcompat.widget.AppCompatImageView {

    //画笔
    private Paint mPaint;
    //圆形图片的半径
    private int mRadius;
    //图片的宿放比例
    private float mScale;

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

    public CircleImageView(Context context, @Nullable AttributeSet attrs) {
        super(context, attrs);
    }

    public CircleImageView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        super.onMeasure(widthMeasureSpec, heightMeasureSpec);
        //由于是圆形,宽高应保持一致
        int size = Math.min(getMeasuredWidth(), getMeasuredHeight());
        mRadius = size / 2;
        setMeasuredDimension(size, size);
    }

    @SuppressLint("DrawAllocation")
    @Override
    protected void onDraw(canvas canvas) {

        mPaint = new Paint();

        Drawable drawable = getDrawable();

        if (null != drawable) {
            Bitmap bitmap = ((BitmapDrawable) drawable).getBitmap();

            //初始化BitmapShader,传入bitmap对象
            BitmapShader bitmapShader = new BitmapShader(bitmap, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP);
            //计算缩放比例
            mScale = (mRadius * 2.0f) / Math.min(bitmap.getHeight(), bitmap.getWidth());

            Matrix matrix = new Matrix();
            matrix.setScale(mScale, mScale);
            bitmapShader.setLocalMatrix(matrix);
            mPaint.setShader(bitmapShader);
            //画圆形,指定好坐标,半径,画笔
            canvas.drawCircle(mRadius, mRadius, mRadius, mPaint);
        } else {
            super.onDraw(canvas);
        }
    }

}

2.布局文件中使用

代码

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="Http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

   <com.hnucm18jr.myapplication.CircleImageView
       android:layout_width="100dp"
       android:layout_height="100dp"
       android:src="@drawable/a1"
       app:layout_constraintLeft_toLeftOf="parent"
       app:layout_constraintRight_toRightOf="parent"
       app:layout_constraintTop_toTopOf="parent"
       android:layout_marginTop="200dp"/>

</androidx.constraintlayout.widget.ConstraintLayout>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: Android实现圆形图片小工具

本文链接: https://www.lsjlt.com/news/167567.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Android实现圆形图片小工具
    本文实例为大家分享了Android实现圆形图片小工具的具体代码,供大家参考,具体内容如下 1.CircleImageView类代码 public class CircleImageV...
    99+
    2022-11-13
  • Android实现圆形图片效果
    本文实例为大家分享了Android实现圆形图片效果的具体代码,供大家参考,具体内容如下 创建RoundPicture.java文件 在src/main/java/XX包下新建Ro...
    99+
    2022-11-12
  • Android基于Fresco实现圆角和圆形图片
    Fresco是FaceBook开源的Android平台图片加载库,可以从网络,从本地文件系统,本地资源加载图片 Fresco本身已经实现了圆角以及圆形图片的功能。 <!--圆形...
    99+
    2022-11-13
  • Android实现图片设置圆角形式
    本文实例为大家分享了Android实现图片设置圆角形式的具体代码,供大家参考,具体内容如下 1.自定义的图片圆角形式CircleImageView类 public class C...
    99+
    2022-11-12
  • Android自定义view实现圆形、圆角和椭圆图片(BitmapShader图形渲染)
    一、前言 Android实现圆角矩形,圆形或者椭圆等图形,一般主要是个自定义View加上使用Xfermode实现的。实现圆角图片的方法其实不少,常见的就是利用Xfermode,...
    99+
    2022-06-06
    view 图片 椭圆 Android
  • Android基于Fresco怎么实现圆角和圆形图片
    这篇文章主要介绍“Android基于Fresco怎么实现圆角和圆形图片”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Android基于Fresco怎么实现圆角和圆形图片”文章能帮助大家解决问题。Fr...
    99+
    2023-06-29
  • Android实现圆形图片的两种方式
    在项目中,我们经常会用到圆形图片,但是android本身又没有提供,那我只能我们自己来完成。 第一种方式,自定义CircleImageView: public class C...
    99+
    2022-06-06
    图片 Android
  • Android怎么实现图片设置圆角形式
    这篇文章主要讲解了“Android怎么实现图片设置圆角形式”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Android怎么实现图片设置圆角形式”吧!自定义的图片圆角形式CircleImage...
    99+
    2023-06-21
  • Android裁剪图片为圆形图片的实现原理与代码
    以前在eoe论坛中找过裁剪图片为圆形图片的方法,但是效果都不是很理想,这几天因为公司业务的要求,需要对头像进行裁剪以圆形的方式显示,这个方法是根据传入的图片的高度(height...
    99+
    2022-06-06
    图片 Android
  • Android实现折线图小工具
    本文实例为大家分享了Android实现折线图小工具的具体代码,供大家参考,具体内容如下 1.LineChart类 public class LineChart extends Vie...
    99+
    2022-11-13
  • 怎么使用jquery实现圆形图片
    本文小编为大家详细介绍“怎么使用jquery实现圆形图片”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么使用jquery实现圆形图片”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。HTML模板首先,在HTML模...
    99+
    2023-07-05
  • Android实现本地上传图片并设置为圆形头像
    先从本地把图片上传到服务器,然后根据URL把头像处理成圆形头像。 因为上传图片用到bmob的平台,所以要到bmob(http://www.bmob.cn)申请密钥。 效果图: ...
    99+
    2022-06-06
    上传图片 图片 Android
  • Android实现圆角图片的方法
    本文实例为大家分享了Android实现圆角图片的具体代码,供大家参考,具体内容如下 效果图 创建类CustomRoundAngleImageView public class ...
    99+
    2022-11-12
  • Python+OpenCV实现图片中的圆形检测
    效果展示 中心的三个没检测到 import cv2 import numpy as np import matplotlib.pyplot as plt w = 20 h ...
    99+
    2022-11-10
  • Android如何将Glide动态加载不同大小的图片切圆角与圆形
    这篇文章主要介绍了Android如何将Glide动态加载不同大小的图片切圆角与圆形,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Glide加载动态图片首先我们先要去依赖一个g...
    99+
    2023-05-30
    android glide
  • Python实现图片自定义裁剪小工具
    目录前言环境依赖代码验证一下前言 本文提供将图片按照自定义尺寸进行裁剪的工具方法,一如既往的实用主义。 环境依赖 ffmpeg环境安装,可以参考:在Windows上安装FFmpeg程...
    99+
    2022-11-13
  • Android中的图片圆角怎么实现
    这篇文章主要介绍了Android中的图片圆角怎么实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Android中的图片圆角怎么实现文章都会有所收获,下面我们一起来看看吧。Android 开发中,经常需要对图片...
    99+
    2023-06-29
  • android 设置圆角图片实现代码
    代码如下: <xml version="1.0" encoding="utf-8"> <LinearLayout xmlns:android="http:/...
    99+
    2022-06-06
    图片 Android
  • android 实现圆角图片解决方案
    现在我们就来看看怎么样把图片的四角都变成圆形的,为什么要这样做那,如果要是这样界面就会非常的美观,下面我们就来看看代码吧。 java代码: 代码如下: public stat...
    99+
    2022-06-06
    图片 解决方案 Android
  • css怎么实现图片变成圆角矩形
    今天小编给大家分享一下css怎么实现图片变成圆角矩形的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解...
    99+
    2022-12-16
    css
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作