android图片的缩放、圆角处理
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图片的缩放、圆角处理相关推荐
- android图片双指缩放,Android图片双指缩放,单指移动实现
Android 实现,图片双指缩放,单指移动.通过自定义ImageView控件实现. ZoomDragImageView.java代码如下: public class SwZoomDragImageV ...
- Android图片的缩放
1.背景 现在app中,图片预览功能肯定是少不了的,用户基本已经形成条件反射,看到小图,点击看大图,看到大图两个手指开始进行放大,放大后,开始移动到指定部位~~~ 我相信看图的整个步骤,大家或者说用户 ...
- Android 自定义View 圆形圆角图片
[Android 自定义View 圆形圆角图片] 基于Xfermode 实现 1.概述 在很久以前也写过一个利用Xfermode 实现圆形.圆角图片的(Android 完美实现图片圆角和圆形(对实现进 ...
- android layout后还原位置,Android图片框架photoview如何记住所有状态并还原,包括缩放度,缩放后的移动的距离等等...
Android图片框架photoview如何记住状态并还原,包括缩放度,缩放后的移动的距离等等,尝试了好多方法都没有作用. private void generateImages() { for (i ...
- Android拖动和缩放图片
Android拖动和缩放图片 2014年5月9日 我们在使用应用其中常常须要浏览图片.比方在微信其中.点击图片之后能够对图片进行缩放. 本博客介绍怎样对图片进行拖拽和缩放.这首先要了解Android中 ...
- android 图片圆角 遮罩_Android 自定义View练手Demo(一)实现圆角遮罩效果
Android 自定义View系列文章 Android自定义View实现圆角遮罩效果 一图胜千言,有一个遮罩就会凸显出重点区域 1-1.jpg 本文通过两种方式来实现这种效果,来达到自定义View练手 ...
- android 多点触控缩放,Android多点触控(图片的缩放Demo)
本文主要介绍Android的多点触控,使用了一个图片缩放的实例,来更好的说明其原理.需要实现OnTouchListener接口,重写其中的onTouch方法. 实现效果图: 源代码: 布局文件: ac ...
- android 手势事件 重写,Android实现通过手势控制图片大小缩放的方法
本文实例讲述了Android实现通过手势控制图片大小缩放的方法.分享给大家供大家参考,具体如下: 该程序实现的是通过手势来缩放图片,从左向右挥动图片时图片被放大,从右向左挥动图片时图片被缩小,挥动速度 ...
- android的图片缩放,Android图片缩放总结及比较
在Android中对大图片进行缩放真的很不尽如人意,不知道是不是我的方法不对.下面我列出3种对图片缩放的方法,并给出相应速度.请高人指教. 第一种是BitmapFactory和BitmapFactor ...
最新文章
- swift_030(Swift 的访问控制)
- innerHTML与innerText
- python实现gif动画(matplotlib、imageio、pillow))
- python控制51单片机的红绿灯_基于51单片机的红绿灯实现(使用普中科技开发板)...
- Spring MVC 中 HandlerInterceptorAdapter过滤器的使用
- python中list的意思_list在python中是什么意思
- css 背景图怎么设置自动填充满_CSS属性设置 -- 背景样式
- 随感 -- 2013/08/16
- 前端 html5 css3 框架,UI,分享,CSS3,HTML5,前端框架
- 【算法】删去k个数字后的最小值
- java filter 注解_注解方式的过滤器(Filter)不能过滤Servlet(注解方式)的问题...
- php基于纯真IP数据库实现IP地址信息查询
- PCI Express 16X和PCIE 2.0有什么区别?哪个更好?
- MySQL 日期时间加减
- html全屏轮播图插件,js全屏banner图片轮播插件
- python画超长图-python实现按长宽比缩放图片
- Mindspore初学者保姆级上手
- 手工做迷宫_纸盒子废物利用手工自制小迷宫教玩具给幼儿玩(步骤图解)
- 云计算基础2-什么是云存储?
- 非计算机专业人员的程序之路
热门文章
- maven多模块项目部署到服务器,GitHub - baxias/foweb: 一个基于 Spring+SpringMVC+Mybatis 的Maven多模块项目。(实现前后端分离的服务器端)...
- 二元相图软件_Materials Studio 领先的材料模拟软件
- (矩阵快速幂)解所有类似Fibonacci 的题目
- php解决mysql主从同步_Mysql读写分离,主从同步实现
- 基于Java+Jsp+SpringMVC漫威手办商城系统设计和实现
- 只在当前页面生效的css样式,修改页面中的一个样式 仅在当前页面生效
- 中学生 学python_中小学生为什么要学Python编程
- 命php令删除文件夹,window_win7系统通过cmd命令提示符的del命令删除文件的详细教程,怎么利用cmd命令提示符的del命 - phpStudy...
- less linux命令,less 命令用法详解
- python 类可以调用实例变量_python面向对象中类对象、实例对象、类变量、实例变量、类方法、实例方法、静态方法...