android中图片缩放方法有三种:1,bitmapFactory;2,bitmap+metrix;3,thumbUtil

方法一:bitmapFactory:

public static Bitmap resizeBitmapByFactory(String path, int w, int h) {BitmapFactory.Options option = new BitmapFactory.Options();option.inJustDecodeBounds = true;Bitmap bitmap = BitmapFactory.decodeFile(path, option);int outWidth = option.outWidth;int outHeight = option.outHeight;option.inDither = false;option.inPreferredConfig = Bitmap.Config.ARGB_8888;if (outWidth != 0 && outHeight != 0 && w != 0 && h != 0) {int sampleSize = (outWidth / w + outHeight / h) / 2;option.inSampleSize = sampleSize;}option.inJustDecodeBounds = false;return BitmapFactory.decodeFile(path, option);}

方法二:bitmap+metrix

public static Bitmap resizeBitmapByMetrix(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 resizedBitmap;}

方法三,使用系统自带的thumbutil:

public static Bitmap resizeBitmapByUtil(Bitmap bitmap, int w, int h) {return ThumbnailUtils.extractThumbnail(bitmap, w, h);}

三个方法消耗的时间为:72,9,13不过怀疑方法一消耗的时间有可能是由于从文件中加载图片所致。这点待定

二、实现图片的圆角效果

public static Bitmap toRoundCornerBitmap(Bitmap bitmap, int cornerPixel) {Bitmap output = Bitmap.createBitmap(bitmap.getWidth(),bitmap.getHeight(), Config.ARGB_8888);Canvas canvas = new Canvas(output);final int color = 0xff424242;final Paint paint = new Paint();final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());final RectF rectF = new RectF(rect);final float roundPx = cornerPixel;paint.setAntiAlias(true);canvas.drawARGB(0, 0, 0, 0);paint.setColor(color);canvas.drawRoundRect(rectF, roundPx, roundPx, paint);paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));canvas.drawBitmap(bitmap, rect, rect, paint);return output;}

三、实现图片缩放,背景为圆角图片,则这个背景可以用图形资源文件来实现。

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"><gradient  android:angle="90"  android:endColor="#00000000"  android:startColor="#00000000" />  <corners  android:bottomLeftRadius="12dp"  android:bottomRightRadius="12dp"  android:topLeftRadius="12dp"  android:topRightRadius="12dp" />  <stroke  android:width="1dip"  android:color="#eee" />  <solidandroid:color="#000"/><padding android:top="5dp"android:bottom="5dp"/></shape>

转载于:https://www.cnblogs.com/bobodeboke/p/3182819.html

android图片的缩放、圆角处理相关推荐

  1. android图片双指缩放,Android图片双指缩放,单指移动实现

    Android 实现,图片双指缩放,单指移动.通过自定义ImageView控件实现. ZoomDragImageView.java代码如下: public class SwZoomDragImageV ...

  2. Android图片的缩放

    1.背景 现在app中,图片预览功能肯定是少不了的,用户基本已经形成条件反射,看到小图,点击看大图,看到大图两个手指开始进行放大,放大后,开始移动到指定部位~~~ 我相信看图的整个步骤,大家或者说用户 ...

  3. Android 自定义View 圆形圆角图片

    [Android 自定义View 圆形圆角图片] 基于Xfermode 实现 1.概述 在很久以前也写过一个利用Xfermode 实现圆形.圆角图片的(Android 完美实现图片圆角和圆形(对实现进 ...

  4. android layout后还原位置,Android图片框架photoview如何记住所有状态并还原,包括缩放度,缩放后的移动的距离等等...

    Android图片框架photoview如何记住状态并还原,包括缩放度,缩放后的移动的距离等等,尝试了好多方法都没有作用. private void generateImages() { for (i ...

  5. Android拖动和缩放图片

    Android拖动和缩放图片 2014年5月9日 我们在使用应用其中常常须要浏览图片.比方在微信其中.点击图片之后能够对图片进行缩放. 本博客介绍怎样对图片进行拖拽和缩放.这首先要了解Android中 ...

  6. android 图片圆角 遮罩_Android 自定义View练手Demo(一)实现圆角遮罩效果

    Android 自定义View系列文章 Android自定义View实现圆角遮罩效果 一图胜千言,有一个遮罩就会凸显出重点区域 1-1.jpg 本文通过两种方式来实现这种效果,来达到自定义View练手 ...

  7. android 多点触控缩放,Android多点触控(图片的缩放Demo)

    本文主要介绍Android的多点触控,使用了一个图片缩放的实例,来更好的说明其原理.需要实现OnTouchListener接口,重写其中的onTouch方法. 实现效果图: 源代码: 布局文件: ac ...

  8. android 手势事件 重写,Android实现通过手势控制图片大小缩放的方法

    本文实例讲述了Android实现通过手势控制图片大小缩放的方法.分享给大家供大家参考,具体如下: 该程序实现的是通过手势来缩放图片,从左向右挥动图片时图片被放大,从右向左挥动图片时图片被缩小,挥动速度 ...

  9. android的图片缩放,Android图片缩放总结及比较

    在Android中对大图片进行缩放真的很不尽如人意,不知道是不是我的方法不对.下面我列出3种对图片缩放的方法,并给出相应速度.请高人指教. 第一种是BitmapFactory和BitmapFactor ...

最新文章

  1. swift_030(Swift 的访问控制)
  2. innerHTML与innerText
  3. python实现gif动画(matplotlib、imageio、pillow))
  4. python控制51单片机的红绿灯_基于51单片机的红绿灯实现(使用普中科技开发板)...
  5. Spring MVC 中 HandlerInterceptorAdapter过滤器的使用
  6. python中list的意思_list在python中是什么意思
  7. css 背景图怎么设置自动填充满_CSS属性设置 -- 背景样式
  8. 随感 -- 2013/08/16
  9. 前端 html5 css3 框架,UI,分享,CSS3,HTML5,前端框架
  10. 【算法】删去k个数字后的最小值
  11. java filter 注解_注解方式的过滤器(Filter)不能过滤Servlet(注解方式)的问题...
  12. php基于纯真IP数据库实现IP地址信息查询
  13. PCI Express 16X和PCIE 2.0有什么区别?哪个更好?
  14. MySQL 日期时间加减
  15. html全屏轮播图插件,js全屏banner图片轮播插件
  16. python画超长图-python实现按长宽比缩放图片
  17. Mindspore初学者保姆级上手
  18. 手工做迷宫_纸盒子废物利用手工自制小迷宫教玩具给幼儿玩(步骤图解)
  19. 云计算基础2-什么是云存储?
  20. 非计算机专业人员的程序之路

热门文章

  1. maven多模块项目部署到服务器,GitHub - baxias/foweb: 一个基于 Spring+SpringMVC+Mybatis 的Maven多模块项目。(实现前后端分离的服务器端)...
  2. 二元相图软件_Materials Studio 领先的材料模拟软件
  3. (矩阵快速幂)解所有类似Fibonacci 的题目
  4. php解决mysql主从同步_Mysql读写分离,主从同步实现
  5. 基于Java+Jsp+SpringMVC漫威手办商城系统设计和实现
  6. 只在当前页面生效的css样式,修改页面中的一个样式 仅在当前页面生效
  7. 中学生 学python_中小学生为什么要学Python编程
  8. 命php令删除文件夹,window_win7系统通过cmd命令提示符的del命令删除文件的详细教程,怎么利用cmd命令提示符的del命 - phpStudy...
  9. less linux命令,less 命令用法详解
  10. python 类可以调用实例变量_python面向对象中类对象、实例对象、类变量、实例变量、类方法、实例方法、静态方法...