Skip to content

图片选择器,可以通过相册或者相机选择图片,显示在页面上。

Notifications You must be signed in to change notification settings

crazyandcoder/TakePhoto

Repository files navigation

在这里插入图片描述

TakePhotoV2.0.0

说明

对于现在的APP开发,项目中一般都会有图片上传的功能,简单的功能就是头像上传,复杂一点的就是类似于微信朋友圈九宫格图片上传与显示,如果全凭自己手工写的话,费时费力还不一定能有好效果,现在这款神器将祝你一臂之力,让你在图片上传和显示这块尽量花费较少的时间,取得最大的效果!

功能点

  1. 支持本地选择照片以及相机拍摄
  2. 图片压缩,采用Luban算法压缩图片,效果明显
  3. 支持显示网路图片
  4. 支持图片的常规手势操作,放大、缩小等
  5. 仿微信九宫格显示图片
  6. 支持图片删除操作

..............

效果演示

(图1,支持选择照片以及拍照功能)

(图2,支持九宫格显示网络图片)

(图3,支持九宫格显示本地图片)

图4,显示大图,支持缩放操作)

图5,压缩对比)

使用方法

gradle引用

compile 'liji.library.dev:takephotolib:2.0.1'

代码示例(v2.0.0)

获取图片

 
        TakePhoto takePhoto = new TakePhoto(Main2Activity.this);
        takePhoto.setOnPictureSelected(new TakePhoto.onPictureSelected() {
            @Override
            public void select(String path, String compresspath) {
                //path 图片原始地址
                //compresspath 图片压缩地址
            }
        });
        takePhoto.show();

九宫格展示图片(具体使用方法请看demo)

	//第一步 Activity实现IMakePic接口
	xxActivity implements IMakePic

	//九宫格图片适配器
    MakePicAdapter mMakePicAdapter;
    
    //图片数据集
    ArrayList<PhotoInfo> photoInfos = new ArrayList<>();


   //RecyclerView管理器
    GridLayoutManager mLayoutManager = new GridLayoutManager(this, 3);
    mRecyclerView.setLayoutManager(mLayoutManager);
        
    //设置RecyclerView适配器   
	mMakePicAdapter = new MakePicAdapter(this, photoInfos, this, Constatnt.EDIT);
	mRecyclerView.setAdapter(mMakePicAdapter);

......

数据结构

1、图片信息模型 PhotoInfo结构

  
    /**
     * 原始图片路径
     */
    private String originalPath;
    
    /**
     * 压缩的图片路径
     */
    private String compressPath;
    
    /**
     * 图片的网络地址
     */
    private String imgUrl;

2、九宫格适配器MakePicAdapter


更新日志

V2.0.1版本更新内容(2017.11.13)

1.细节优化

V2.0.0版本更新内容(2017.11.11)

  1. 新增图片压缩
  2. 新增九宫格显示
  3. 拍照及本地图片获取UI改版

V1.0.2版本更新内容(2016.10.26)

  1. bug修改
  2. 优化小细节

V1.0.0版本更新内容(2016.05.13)

  1. 初始版本发布
  2. 新增图片选择支持本地相册选取以及拍照

关于作者

  1. 简书 http://www.jianshu.com/users/18281bdb07ce/latest_articles
  2. 博客 http://crazyandcoder.github.io/
  3. github https://github.com/crazyandcoder
  4. 掘金 https://juejin.im/user/56b96af96240b8005865df59

感谢

About

图片选择器,可以通过相册或者相机选择图片,显示在页面上。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages