zoukankan      html  css  js  c++  java
  • android 图片放大的处理

     

    场景:从网络上下载下来的小图片,直接使用设置某些区域的大小的时候,会使得图片变形。这个时候,最佳的解决方案是,在图片的清晰度可以容忍的情况下,将图片进行拉升放大处理,处理过程如下:

    Java代码  收藏代码
    1. Bitmap originalBitmap = originalBitmap1;  
    2.         int bw = originalBitmap.getWidth();  
    3.         int bh = originalBitmap.getHeight();  
    4.          float scaleWidth = expectedWidth*1.0F / bw;  
    5.          float scaleHeight = expectedHeight*1.0F / bh;  
    6.          //取伸缩小的值  
    7.          float scale = scaleHeight < scaleWidth ?  scaleHeight : scaleWidth;  
    8.            
    9.          Matrix matrix = new Matrix();  
    10.          matrix.postScale(scale, scale);  
    11.          Bitmap resizedBitmap = Bitmap.createBitmap(originalBitmap, 00, bw, bh, matrix, true);  
    12.          // 绘制背景图片  
    13.          Bitmap mBitmap = Bitmap.createBitmap(expectedWidth, expectedHeight, Bitmap.Config.RGB_565);  
    14.          Canvas mCanvas = new Canvas(mBitmap);  
    15.          Paint bitmapPaint = new Paint(Paint.FILTER_BITMAP_FLAG);  
    16.          // 设定背景颜色  
    17.          mCanvas.drawColor(0xff000000);  
    18.          float left = expectedWidth / 2 - bw * scale / 2;  
    19.          float top = expectedHeight / 2 - bh * scale / 2;  
    20.          mCanvas.drawBitmap(resizedBitmap,left ,top , bitmapPaint);  
    21.          mCanvas.save();  
    22.          return mBitmap;  
    路漫漫其修远兮 吾将上下而求索
  • 相关阅读:
    H3CNE学习2,3 TCP-IP模型
    H3CNE学习1 课程简介
    TCPDUMP抓包学习
    Kubernetes 学习26 基于kubernetes的Paas概述
    Kubernetes 学习25 创建自定义chart及部署efk日志系统
    Linux https认证原理
    Kubernetes 学习24 helm入门
    【MySQL基础总结】索引的使用
    【MySQL基础总结】常用函数库
    【MySQL基础总结】运算符的使用
  • 原文地址:https://www.cnblogs.com/hudabing/p/3110465.html
Copyright © 2011-2022 走看看