图片的压缩 (指定尺寸及比例压缩)
1.压缩到指定尺寸
//使用Bitmap加Matrix来缩放public static Drawable resizeImage(Bitmap bitmap, int w, int h) { Bitmap BitmapOrg = bitmap; int width = BitmapOrg.getWidth(); int height = BitmapOrg.getHeight(); int newWidth = w; int newHeight = h; float scaleWidth = ((float) newWidth) / width; float scaleHeight = ((float) newHeight) / height; Matrix matrix = new Matrix(); matrix.postScale(scaleWidth, scaleHeight); // if you want to rotate the Bitmap // matrix.postRotate(45); Bitmap resizedBitmap = Bitmap.createBitmap(BitmapOrg, 0, 0, width, height, matrix, true); return new BitmapDrawable(resizedBitmap); }
优缺点分析:
优点 : 能将图片压缩导致定尺寸
缺点:比较耗费内存 要先获取整个图片加载到内存中 初始输入的 Bitmap只能通过BitmapFactory.decodeFile(productPath);
原始图片较大,会费内存
2.按照比例压缩
//使用BitmapFactory.Options的inSampleSize参数来缩放public static Drawable resizeImage2(String path,int width,int height) {BitmapFactory.Options options = new BitmapFactory.Options();options.inJustDecodeBounds = true;//不加载bitmap到内存中BitmapFactory.decodeFile(path,options); int outWidth = options.outWidth;int outHeight = options.outHeight;options.inDither = false;options.inPreferredConfig = Bitmap.Config.ARGB_8888;options.inSampleSize = 1;if (outWidth != 0 && outHeight != 0 && width != 0 && height != 0) {int sampleSize=(outWidth/width+outHeight/height)/2;Log.d(tag, "sampleSize = " + sampleSize);options.inSampleSize = sampleSize;}options.inJustDecodeBounds = false;return new BitmapDrawable(BitmapFactory.decodeFile(path, options)); }
优缺点分析:
优点 :比较身内存,开始不需要加载整个图片到内存中.只获取原始图片的宽高就可以了~
缺点:只能按照几分之几压缩
options.inSampleSize
采样率只能是int值,宽高只能压缩到原来的1/2;1/3等等~~
图片的压缩 (指定尺寸及比例压缩)相关推荐
- Markdown (CSDN) MD编辑器(三)- 图片缩放、指定尺寸、居中、左对齐、右对齐
目录 一.csdn的MD编辑器插入图片的方式: 1.1 图片对齐方式 1.2 指定图片尺寸 二.内嵌HTML语法实现插入图片 三.实例讲解 Markdown是一种轻量级标记语言,排版语法简洁,让人 ...
- JAVA校验图片的大小、尺寸、比例
校验图片的大小.尺寸.比例 上传图片除了基本得 大小校验之外,特殊还需要对图片得 尺寸像素,像素比例进行校验 ,下边是相关校验 1 尺寸校验,也就是图片得像素 ,是否满足规定得大小 /*** .* @ ...
- ASP.NET将原始图片按照指定尺寸等比例缩放显示图片
网站上可能会有很多图片,比如产品图片等,而且他们可能大小不一,宽度和高度也不一定一样,有的很大有的很小.如果放在一张网页上,可能会破坏版面,但是如果强制让他们按照指定的宽度和高度显示,因为比例不同还会 ...
- php后台图片压缩_php实现等比例压缩图片
/** * desription 压缩图片 * @param sting $imgsrc 图片路径 * @param string $imgdst 压缩后保存路径 */ public function ...
- 怎样把图片调整到指定尺寸?一文教你快速调整图片大小
不知道大家有没有在上传一些图片的时候遇到过上传使用图片的时候对图片的尺寸有要求的情况,一般碰到这种情况的时候对于不会处理图片的小伙伴来说真是欲哭无泪,尤其是从网上找一些相关的解决办法以后都告诉你需要有 ...
- java验证图片大小_java 校验图片的大小、尺寸、比例
import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.i ...
- java 校验图片的大小、尺寸、比例
import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException;import javax.im ...
- 将图片缩放成指定尺寸
- (UIImage *)scaleToSize:(UIImage *)img size:(CGSize)size{// 创建一个bitmap的context// 并把它设置成为当前正在使用的cont ...
- 图片压缩到200k以内怎么操作?图片压缩指定大小工具推荐
工作中经常出现图片太大无法发送或者是上传的情况,这时候就需要将图片压缩才能上传,那么怎么把图片压缩到200K以内呢?可以使用图片压缩指定大小(https://www.yasuotu.com/image ...
最新文章
- linux的文本处理(一)
- 讲给普通人听的分布式数据存储
- Windows下安装Zabbix agent
- SAP Spartacus routing parameter mapping介绍
- python多线程之线程锁(Lock)和递归锁(RLock)实例
- iOS 将本地项目/demo上传到github的简单方法
- c语言 struct 的初始化
- 加密word文档脱壳教程
- 总体、样本、样本的抽样分布
- adb 查看屏幕大小_Android adb获取屏幕分辨率
- R语言使用dcauchy函数生成柯西分布密度函数数据、使用plot函数可视化柯西分布密度函数数据(Cauchy distribution)
- R语言ggplot2可视化:gganimate包transition_time函数创建动态散点图动画(gif)、shadow_wake函数配置动画的渐变效果(gradual falloff)拖尾效应
- Pagedown learning notes
- 智能小区监控、报警、灯光联动三位一体安全防范系统
- igxe取东西显示服务器繁忙,igxe服务器繁忙
- pyecharts x轴字体大小调整_这应该是最通俗易懂的PyEcharts的操作指南!
- D. Vessels(并查集+模拟)
- 大圣闹海、金蝉捕鱼0x000003e8指令引用的0x000003e8内存。改内存不能为read
- webm视频怎么转换成mp4格式?
- 小学二年级计算机教学教案,小学二年级备课教案
热门文章
- 计算机游戏自动化测试软件,Airtest IDE
- 计算机审计实验报告第二章,计算机审计实验报告(共5篇).doc
- 商务邮箱注册大全,邮箱有哪些类型可选择?
- 限时免费 | 8位支付大咖演讲 PPT 14 份行业权威报告 10 篇重磅支付干货……...
- Python数据攻略-Pandas的数据创建与基础特性
- 软件需求:ERP溯源管理系统,生产型企业管理软件,集物料、产品、采购、生产、进销存
- 房屋建筑渗漏的无损检测方法
- Arduino与Proteus仿真实例-4x4矩阵键盘驱动仿真
- 圆盘刻度尺(iOS圆环刻度尺)
- 郑州公交查询系统数据配置页面