96编辑器旗下产品
找图
终身
ID:0
到期时间:永久
退出登录
您的位置:首页 > 百科管理 > 详情

图片压缩github项目-可以自定义大小和像素来进行图片压缩的Android压缩库

原创:找图网 2023-05-03 20:22:17
  • TakePhoto 简介

  • TakePhoto 是一款用于在Android设备上获取照片(拍照或从相册、文件中选择)、裁剪图片、压缩图片的开源工具库,目前最新版本 3.0.0 。

    3.0以下版本及API说明,详见 TakePhoto2.0+ 。

    V3.0

    GitHub地址:

    Gradle:

    Maven:

    运行效果图:

    方式一:通过继承的方式

    此方式使用简单,满足的大部分的使用需求,具体使用详见 simple 。如果通过继承的方式无法满足实际项目的使用,可以通过下面介绍的方式。

    方式二:通过组装的方式

    可参照: TakePhotoActivity ,以下为主要步骤:

    TakePhoto提供拍照,从相册选择,从文件中选择三种方式获取图片。

    API:

    以上三种方式均提供对应的裁剪API,详见: 裁剪图片 。

    注:

    由于不同Android Rom厂商对系统有不同程度的定制,有可能导致某种选择图片的方式不支持,所以为了提高TakePhoto的兼容性,当某种选的图片的方式不支持时,TakePhoto会自动切换成使用另一种选择图片的方式进行图片选择。

    TakePhoto支持对图片进行裁剪,无论是拍照的照片,还是从相册、文件中选择的图片。你只需要调用TakePhoto的相应方法即可:

    另外,TakePhoto也支持你对指定图片进行裁剪:

    CropOptions是用于裁剪的配置类,通过它你可以对图片的裁剪比例,最大输出大小,以及是否使用TakePhoto自带的裁剪工具进行裁剪等,进行个性化配置。

    Usage:

    注:

    由于不同Android Rom厂商对系统有不同程度的定制,有可能系统中没有自带或第三方的裁剪工具,所以为了提高TakePhoto的兼容性,当系统中没有自带或第三方裁剪工具时,TakePhoto会自动切换到使用TakePhoto自带的裁剪工具进行裁剪。

    你可以选择是否对图片进行压缩处理,你只需要告诉它你是否要启用压缩功能以及CompressConfig

    即可。

    API

    Usage:

    如果你启用了图片压缩,TakePhoto会使用CompressImage对图片进行压缩处理,CompressImage目前支持对图片的尺寸以及图片的质量进行压缩。默认情况下,CompressImage开启了尺寸与质量双重压缩。

    另外,你也可以对指定图片进行压缩:

    Usage:

    CompressConfig是用于图片压缩的配置类,你可以通过对图片压缩后的尺寸以及质量进行相关设置。如果你想改变压缩的方式可以通过进行相关设置。

    Usage:

    由于Android6.0新增了”运行时权限控制(Runtime Permissions)”,为了应对这一改变,TakePhoto加入和自动权限管理,当TakePhoto检测到需要权限时,TakePhoto会自动申请权限,所以小伙伴们不用担心权限的使用问题。

    在Android N中,Android 框架执行了 StrictMode,应用间共享文件和以前也有所区别。为了适配Android7.0的改变,同时也为了方便大家使用TakePhoto,TakePhoto会自动根据手机的Android版本自行适配,小伙伴们依旧可以向TakePhoto传递Uri imageUri = (file);类型的Uri而不用担心兼容性问题。

    TakePhoto是基于Android官方标准API编写的,适配了目前市场上主流的Rom。如果你在使用过程中发现了适配问题,可以 提交Issues 。

    如果你在使用TakePhoto中遇到任何问题可以提 Issues 出来。另外欢迎大家为TakePhoto贡献智慧,欢迎大家 Fork and Pull requests 。

    最后

    既然来了,留下个喜欢再走吧,鼓励我继续创作( _ )∠※

  • 一款优秀的vue前端中后台解决方案:vue-admin-design

  • 完整演示地址:

    http://42.194.194.178/

    (1M带宽初次访问比较慢)

    前端演示地址1:

    前端演示地址2:

    github项目地址:

    github接口地址:

    gitee项目地址:

    gitee接口地址:

    - 登录 / 注销

    - 路由权限

    - 表格&表单

    - 综合表格

    - 表单列表

    - 行内编辑表格

    - 图片处理

    - 图片裁剪

    - 图片压缩

    - 图片合成

    - 视频处理

    - 视频播放器

    - 视频水印

    - 组件

    - 图片上传

    - 拖拽

    - 列表拖拽

    - 组件拖拽

    - 穿梭框

    - 数字滚动

    - 编辑器

    - Markdown编辑器

    - 富文本编辑器

    - 树形结构

    - 组织树

    - 控件树

    - Excel

    - 导出Excel

    - 导入Excel

    - 错误页面

    - 401页面

    - 404页面

  • 可以自定义大小和像素来进行图片压缩的Android压缩库

  • 老规矩 先上依赖

    Add it in your root at the end of repositories:

    allprojects {

    repositories {

    ...

    maven { url '

    ' }

    }

    }

    dependencies {

    implementation '1:X-CompressImage:1.0.1'

    }

    背景:

    对于一些需要对图片进行定制化压缩的场景,如必须图片必须多少多少K以下,或者分辨率有要求的场景。开发此库。

    你可以这样用:

    CompressConfig  为建造模式去设置参数

    CompressConfig compressConfig = ()

    .setUnCompressMinPixel(1000) // 最小像素不压缩,默认值:1000

    .setUnCompressNormalPixel(2000) // 标准像素不压缩,默认值:2000

    .setMaxPixel(1200) // 长或宽不超过的最大像素 (单位px),默认值:1200

    .setMaxSize(200 * 1024) // 压缩到的最大大小 (单位B),默认值:200 * 1024 = 200KB

    .enablePixelCompress(true) // 是否启用像素压缩,默认值:true

    .enableQualityCompress(true) // 是否启用质量压缩,默认值:true

    .enableReserveRaw(false) // 是否保留源文件,默认值:true

    .setCacheDir(path) // 压缩后缓存图片路径,默认值:_CACHE

    .setShowCompressDialog(true) // 是否显示压缩进度条,默认值:false

    .create();

    如果你仅仅只是压缩图片  我们给有默认的参数使用getDefaultConfig()

    =1000;

    =2000;

    =1200;

    =204800;

    =true;

    =true;

    =true;

    下边就是使用了 。很简单 ,传参加回调

    (this,compressConfig, photos, new () {

    @Override

    public void onCompressSuccess(ArrayList<Photo> var1) {

    Log.i("imageCompress","success");

    //do what you want to do

    }

    @Override

    public void onCompressFailed(ArrayList<Photo> var1, String var2) {

    Log.e("imageCompress","false",null);

    }

    }).compress();

    git 地址:

    欢迎指教,互相学习

    最新文章 更多
    最新素材 更多
    公司介绍 网站地图 图片资讯
    Copyright © 2010-2022 山东找图网络科技有限公司  鲁ICP备18007836号-3  邮箱:15653358549@163.com