All Projects → martin90s → Imagepicker

martin90s / Imagepicker

Super Image Picker is a powerful image selector. Support for huge image preview (such as 10000 * 5000px), support for image cropping, configurable avatar mode and normal mode, support for a variety of image load library

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Imagepicker

Picker
Picker - A CameraX based WhatsApp Style Image-Video Picker
Stars: ✭ 69 (-92.26%)
Mutual labels:  imagepicker, photo-gallery
Insgallery
📸 Instagram-like image picker for Android (一款 UI 炫酷高仿 Instagram 的图片、视频选择器)
Stars: ✭ 409 (-54.1%)
Mutual labels:  imagepicker, photo-gallery
Yimagepicker
小红书多图剪裁+微信图片选择器+大图预览+图片剪裁(支持圆形剪裁和镂空剪裁),已适配androidQ,借鉴并升级matisse加载内核!超强定制性可轻松实现知乎/马蜂窝/微博等特殊样式!支持跨进程回调!内部结构轻量级,无任何第三方开源库!支持support依赖!
Stars: ✭ 975 (+9.43%)
Mutual labels:  imagepicker, photo-gallery
Piximagepicker
Pix is a Whatsapp image picker replica. with this, you can integrate an image picker just like WhatsApp.
Stars: ✭ 488 (-45.23%)
Mutual labels:  imagepicker, photo-gallery
Sppermissions
Ask permissions with ready-use interface. You can check status permission and if it has been requested before. Support SwiftUI.
Stars: ✭ 4,701 (+427.61%)
Mutual labels:  photo-gallery
Ypimagepicker
📸 Instagram-like image picker & filters for iOS
Stars: ✭ 3,661 (+310.89%)
Mutual labels:  imagepicker
Photopicker
[DEPRECATED] Image Picker like Wechat
Stars: ✭ 2,852 (+220.09%)
Mutual labels:  imagepicker
Filepicker
🔥🔥🔥Android文件、图片选择器,可按文件夹查找,文件类型查找,支持自定义相机
Stars: ✭ 265 (-70.26%)
Mutual labels:  imagepicker
Imagepicker
📸Image Picker for Android, Pick an image from Gallery or Capture a new image with Camera
Stars: ✭ 623 (-30.08%)
Mutual labels:  imagepicker
Photoview
Photo gallery for self-hosted personal servers
Stars: ✭ 553 (-37.93%)
Mutual labels:  photo-gallery
Imagepicker
完全仿微信的图片选择,并且提供了多种图片加载接口,选择图片后可以旋转,可以裁剪成矩形或圆形,可以配置各种其他的参数
Stars: ✭ 4,225 (+374.19%)
Mutual labels:  imagepicker
Reactnative Animation Challenges
A series of animation challenges in React Native.
Stars: ✭ 352 (-60.49%)
Mutual labels:  photo-gallery
Pigallery2
A directory-first photo gallery website, witch rich UI, optimised for running on low resource servers (especially on raspberry pi)
Stars: ✭ 470 (-47.25%)
Mutual labels:  photo-gallery
Coco
基于kotlin、简洁易用的调用系统拍照或图片选择库
Stars: ✭ 276 (-69.02%)
Mutual labels:  imagepicker
Androidpicker
安卓选择器类库,包括日期及时间选择器(可用于出生日期、营业时间等)、单项选择器(可用于性别、民族、职业、学历、星座等)、二三级联动选择器(可用于车牌号、基金定投日期等)、城市地址选择器(分省级、地市级及区县级)、数字选择器(可用于年龄、身高、体重、温度等)、日历选日期择器(可用于酒店及机票预定日期)、颜色选择器、文件及目录选择器、图片选择器等……WheelPicker/DatePicker/TimePicker/OptionPicker/NumberPicker/LinkagePicker/AddressPicker/CarPlatePicker/CalendarPicker/ColorPicker/FilePicker/ImagePicker etc.
Stars: ✭ 5,320 (+497.08%)
Mutual labels:  imagepicker
Bottomsheet Imagepicker
Modern image picker for Android
Stars: ✭ 267 (-70.03%)
Mutual labels:  imagepicker
Imagepicker
📷 Reinventing the way ImagePicker works.
Stars: ✭ 4,634 (+420.09%)
Mutual labels:  imagepicker
Resizer
An image resizing library for Android
Stars: ✭ 406 (-54.43%)
Mutual labels:  photo-gallery
Pickphotosample
Photo Picker Of Android Library
Stars: ✭ 457 (-48.71%)
Mutual labels:  photo-gallery
Spotlight
Web's most easy to integrate lightbox gallery library. Super-lightweight, outstanding performance, no dependencies.
Stars: ✭ 799 (-10.33%)
Mutual labels:  photo-gallery

ImagePicker

Android Arsenal

效果图

第一张头像模式,第二张选择多张图片(包括动画和顺畅的跳转),第三张是分片加载超大图(19.5M,10000*5000px)

image image image

项目介绍请参考

致谢

如何添加

Gradle

1.在Project的build.gradle 中添加仓库地址

 // JitPack仓库地址
 maven { url "https://jitpack.io" }

示例:

allprojects {
    repositories {
        jcenter()
        // JitPack仓库地址
        maven { url "https://jitpack.io" }
    }
}

2.在app目录下的build.gradle中添加依赖

    //SImagePicker
	compile 'com.github.martin90s:ImagePicker:v1.3.2'

如何使用

1.首先初始化(推荐在Application的oncreate中调用)

 SImagePicker.init(new PickerConfig.Builder().setAppContext(this)
 			.setImageLoader(new FrescoImageLoader())
			.setToolbaseColor(getColor(R.color.colorPrimary))
			.build());

2.在需要选择图片的地方调用

 SImagePicker
            .from(MainActivity.this)
            .maxCount(9)
            .rowCount(3)
            .pickMode(SImagePicker.MODE_IMAGE)
            .fileInterceptor(new SingleFileLimitInterceptor())
            .forResult(REQUEST_CODE_IMAGE);

可配置项

1.全局配置(即初始化时传入的PickerConfig,此配置作用于SImagePicker整个使用过程)

配置参数 参数含义
setImageLoader(ImageLoader) 使用的图片加载器。demo工程中实现了Fresco和Glide两种ImageLoader,可以参考
setToolbarColor(int) Picker的主色调,默认值是App的primaryColor
setAppContext(Context) Picker内部用到的Context,传入ApplicationContext即可

2.单次配置(即每次调用SImagePicker时传入的参数,此参数只对这次调用生效)

配置参数 参数含义
from(Activity or Fragment) 调用图片选择器可从Activity或者Fragment进入,最后的结果会在onActivityResult()返回,现在返回的结果有两个值,用户选择的图片的路径列表data.getStringArrayListExtra(PhotoPickerActivity.EXTRA_RESULT_SELECTION);用户是否选择了原图data.getBooleanExtra(PhotoPickerActivity.EXTRA_RESULT_ORIGINAL, false);

| | maxCount(int) | 此次选择允许的最大选择数量,默认是1.比如发朋友圈最多选择9张图就传9 | | rowCount(int) | 图片列表单排展示多少张图 | | setSelected(List) | 默认已经被选中的图片 | | pickMode(int) | 选图的模式,现在有头像模式和普通模式两种,头像模式选中图片后默认会跳到图片裁剪页面且默认只能选择一张 | | cropFilePath(String) | 头像模式下裁剪图片存放地址 | | showCamera(boolen) | 是否要展示拍照入口 | | pickText(int) | Picker里右下角展示的文字信息(比如配置选择,发送,完成) | | fileInterceptor(FileChooseInterceptor) | 图片过滤器,比如用户选择的单张图片大小有限制,即可写在这个拦截器中,当用户选择过大图片时可以提示并且过滤 | |forResult(int requestCode) | 打开图片选择器,并且传入requestCode

##获取结果

在调用图片选择器的Fragment或者Activity中

@Override
  protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (resultCode == Activity.RESULT_OK && requestCode == REQUEST_CODE_IMAGE) {
      final ArrayList<String> pathList =
          data.getStringArrayListExtra(PhotoPickerActivity.EXTRA_RESULT_SELECTION);
      final boolean original =
          data.getBooleanExtra(PhotoPickerActivity.EXTRA_RESULT_ORIGINAL, false);
    }
  }

##TODO

  • 增加一个普通模式。由于现在预览为了支持超大图所以选择了SubsamplingView。后续增加一个不支持超大图的模式,会更加流畅
  • Glide下由于glide的缓存策略,跳转动画第一次播放会闪一下,下版修复此问题

##联系方式

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].