仿QQ圆头像裁剪开源项目——ClipCircleHeadLikeQQ

本文介绍了一个仿QQ圆头像裁剪的开源Android项目,旨在提升用户体验。项目提供圆头像裁剪功能,实现了与QQ类似的截图交互,并提供了项目托管地址和使用方法,帮助开发者轻松集成到自己的应用中。
摘要由CSDN通过智能技术生成

1.项目背景:

很多项目中用到的头像都是圆头像,圆头像使界面看起来更具有美感,比如QQ在整个应用中使用的就是圆头像。基本上每个应用都有上传头像的功能,在上传头像的时候需要对图片裁剪。虽然截取出来的图片实际上都是方图,但是在裁剪的时候如果能直观的让用户看到裁剪以后的圆头像的效果,体验就更好了。一像注重用户体验的QQ就是这么实现的,如图

我们项目中用到的也是圆头像。截取头像功能的需求就是做成跟QQ类似的交互,一般我们在设计软件的时候都习惯向业界知名产品“学习”(你懂得)。

我试着上网查了一下开源的头像截取的项目,发现这些项目的截图界面全部都是方图,好吧,轮子还没人造,只能自己动手了。

2.效果图:

csdn图片限制竟然才2M,只好将效果图分成两份了,前后连起来看。
         

想着其他人做项目的时候可能用的着,就把截图的功能整理了一下,做成了一个小demo,没必要重复造轮子了,分享是互联网的精神精髓。

3.项目托管地址:

如果还不会使用github,你就真out了

4.使用方法:

  • 打开截图界面
    /**
     * 打开截图界面
     * @param uri 原图的Uri
     */
    public void starCropPhoto(Uri uri) {

        if (uri == null) {
            return;
        }
        Intent intent = new Intent();
        intent.setClass(this, ClipHeaderActivity.class);
        intent.setData(uri);
        intent.putExtra("side_length", 200);//裁剪图片宽高
        startActivityForResult(intent, CROP_PHOTO);
    }
  • 获取返回结果
在onActivityResult 方法中
Uri uri = intent.getData();

  • 上传头像
可以通过uri得到截图文件的本地路径,可以方便的上传到服务器
  • 头像展示
iv_head_icon.setImageURI(uri);  
ImageView 提供有直接设置图片URI的方法,可以方便的在ImageView中展示


5.实现原理:


下面简单介绍一下具体实现原理:

  • 项目结构:



  • 编译方式:

本项目采用的是gradle编译 导入的时候选gradle wrapper 一般没什么问题

  • 截图界面 ClipHeaderActivity

package com.example.clipheaderlikeqq.app.clip;

import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.Matrix;
import android.graphics.PointF;
import android.graphics.Rect;
import android.net.Uri;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值