我是靠谱客的博主 贪玩冬日,最近开发中收集的这篇文章主要介绍android压缩图片工具类,android -------- 压缩图片文件工具类,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

public classCompressHelper {private static volatileCompressHelper INSTANCE;privateContext context;/*** 最大宽度,默认为720*/

private float maxWidth = 720.0f;/*** 最大高度,默认为960*/

private float maxHeight = 960.0f;/*** 默认压缩后的方式为JPEG*/

private Bitmap.CompressFormat compressFormat =Bitmap.CompressFormat.JPEG;/*** 默认的图片处理方式是ARGB_8888*/

private Bitmap.Config bitmapConfig =Bitmap.Config.ARGB_8888;/*** 默认压缩质量为80*/

private int quality = 80;/*** 存储路径*/

privateString destinationDirectoryPath;/*** 文件名前缀*/

privateString fileNamePrefix;/*** 文件名*/

privateString fileName;public staticCompressHelper getDefault(Context context) {if (INSTANCE == null) {synchronized (CompressHelper.class) {if (INSTANCE == null) {

INSTANCE= newCompressHelper(context);

}

}

}returnINSTANCE;

}privateCompressHelper(Context context) {this.context =context;

destinationDirectoryPath= context.getCacheDir().getPath() + File.pathSeparator +FileUtil.FILES_PATH;

}/*** 压缩成文件

*@paramfile 原始文件

*@return压缩后的文件*/

publicFile compressToFile(File file) {returnBitmapUtil.compressImage(context, Uri.fromFile(file), maxWidth, maxHeight,

compressFormat, bitmapConfig, quality, destinationDirectoryPath,

fileNamePrefix, fileName);

}/*** 压缩为Bitmap

*@paramfile 原始文件

*@return压缩后的Bitmap*/

publicBitmap compressToBitmap(File file) {returnBitmapUtil.getScaledBitmap(context, Uri.fromFile(file), maxWidth, maxHeight, bitmapConfig);

}/*** 采用建造者模式,设置Builder*/

public static classBuilder {privateCompressHelper mCompressHelper;publicBuilder(Context context) {

mCompressHelper= newCompressHelper(context);

}/*** 设置图片最大宽度

*@parammaxWidth 最大宽度*/

public Builder setMaxWidth(floatmaxWidth) {

mCompressHelper.maxWidth=maxWidth;return this;

}/*** 设置图片最大高度

*@parammaxHeight 最大高度*/

public Builder setMaxHeight(floatmaxHeight) {

mCompressHelper.maxHeight=maxHeight;return this;

}/*** 设置压缩的后缀格式*/

publicBuilder setCompressFormat(Bitmap.CompressFormat compressFormat) {

mCompressHelper.compressFormat=compressFormat;return this;

}/*** 设置Bitmap的参数*/

publicBuilder setBitmapConfig(Bitmap.Config bitmapConfig) {

mCompressHelper.bitmapConfig=bitmapConfig;return this;

}/*** 设置压缩质量,建议80

*@paramquality 压缩质量,[0,100]*/

public Builder setQuality(intquality) {

mCompressHelper.quality=quality;return this;

}/*** 设置目的存储路径

*@paramdestinationDirectoryPath 目的路径*/

publicBuilder setDestinationDirectoryPath(String destinationDirectoryPath) {

mCompressHelper.destinationDirectoryPath=destinationDirectoryPath;return this;

}/*** 设置文件前缀

*@paramprefix 前缀*/

publicBuilder setFileNamePrefix(String prefix) {

mCompressHelper.fileNamePrefix=prefix;return this;

}/*** 设置文件名称

*@paramfileName 文件名*/

publicBuilder setFileName(String fileName) {

mCompressHelper.fileName=fileName;return this;

}publicCompressHelper build() {returnmCompressHelper;

}

}

}

最后

以上就是贪玩冬日为你收集整理的android压缩图片工具类,android -------- 压缩图片文件工具类的全部内容,希望文章能够帮你解决android压缩图片工具类,android -------- 压缩图片文件工具类所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部