图片文件的常见操作

一、将图片生成数据流/图片文件

1.从图片资源文件生成数据流:

InputStream input = getResources.openRawResource(R.drawable.ico);

2.将图片写为图片文件:
mBitmap.compress(Bitmap.CompressFormat.JPEG, 100, output);//output为FileOutputStream对象

二、生成图片

1.从数据流、字节、文件路径生成图片:

Bitmap mBitmap = BitmapFactory.decodeStream(input);//input为FileInputStream对象

=>BitmapFactory.decodeByteArray//从字节转为图片

=>BitmapFactory.decodeFile("/sdcard/b.jpg");//从文件路径转为图片

2.直接从图片url生成图片

URL url = new URL(“http://himg2.huanqiu.com/statics/images/index/logo.png”);  
Drawable drawable = Drawable.createFromStream( url.openStream(), "");

3.从文件路径生成图片

Drawable drawable = Drawable.createFromPath("/sdcard/a.jpg");

三、图片/视频的缩略图的创建

1.ThumbnailUtils.extractThumbnail(source, width, height); //参数分别为源文件、压缩后宽度、压缩后高度

2.ThumbnailUtils.extractThumbnail(source, width, height, options);//参数分别为源文件、压缩后宽度、压缩后高度、options(定义为OPTIONS_RECYCLE_INPUT则回收 source)

3.ThumbnailUtils.createVideoThumbnail(filePath, kind); //创建视频缩略图

四、图片的压缩处理:

1.压缩图片质量:  
bitmap.compress(Bitmap.CompressFormat.JPEG, quality, fos);   
其中的quality为0~100, 可以压缩图片质量

2.等比例缩放:
bitmap = Bitmap.createScaledBitmap(bitmap, width, height, false);

3.截取图片某部分:
bitmap = Bitmap.createBitmap(bitmap, x, y, width, height);

五、图片处理相关的一些重要类及属性:

1.BitmapFactory.Options options = new BitmapFactory.Options();

(1)options.inJustDecodeBounds // true,false:是否将图片加入内存

(2)options.inSampleSize //压缩比例

使用:BitmapFactory.decodeFile(srcPath, options );

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
UniApp 是一个基于 Vue.js 开发跨平台多端应用的框架,用于开发跨平台应用程序。压缩图片文件是 UniApp 应用开发过程中的常见任务,下面是有关如何进行压缩图片文件的介绍: 一、压缩图片: 1. 使用图片编辑工具:可以使用常见图片编辑工具(如 Photoshop、GIMP、Paint.NET 等)对图片进行压缩,减小文件大小。 2. 使用在线工具:有许多在线图片压缩工具可供选择,如 TinyPNG、Compress JPEG 等。这些工具通常提供免费和付费的选项,可以根据需要选择合适的工具。 3. 在代码中压缩:在 UniApp 开发中,可以使用代码库或插件来压缩图片。例如,使用第三方库如 uni-app-compressor-image,它提供了在服务器端对图片进行压缩的功能。 二、文件压缩: 1. 使用 UniApp 提供的工具:UniApp 提供了一些内置的工具和 API,可用于压缩文件。例如,可以使用 uni.compressFile API 将文件进行压缩,并将其保存到指定的位置。 2. 使用第三方库:UniApp 也有一些第三方库可用于文件压缩,如 uni-app-zip 或 uni-app-upload-downloader。这些库提供了对文件进行压缩、解压和上传下载的功能。 需要注意的是,在进行压缩操作时,应确保不影响图片文件的清晰度和质量。适当的压缩可以减小文件大小,提高应用程序的性能和加载速度。 此外,还可以考虑使用云存储服务来存储压缩后的图片文件,以便在多个平台上共享和使用。例如,使用阿里云、腾讯云等提供的云存储服务,可以方便地管理图片文件,并实现跨平台的共享和访问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值