zoukankan      html  css  js  c++  java
  • Android位图相关解码操作

    public class BitMapTools {

     

        /**

         * 对图片进行解码操作

         *

         * @param resource

         * 资源文件

         * @param resId

         * 解码位图的iD

         * @param reqWidt

         * 指定输出位图的宽度

         * @param reqHight

         * 制定输出位图的高度

         * @return

         */

        public static Bitmap decodeBitmap(Resources resource, int resId,

                int reqWidth, int reqHight) {

            // 对位图进行解码的参数设置

            BitmapFactory.Options option = new BitmapFactory.Options();

            // 在对位图进行解码的过程中,避免申请内存

            option.inJustDecodeBounds = true;

            BitmapFactory.decodeResource(resource, resId, option);

            //对图片进行压缩

            option.inSampleSize = calculateInSimpleSize(option, reqWidth, reqHight);

            option.inJustDecodeBounds = false;

            return BitmapFactory.decodeResource(resource, resId, option);

        }

     

        /**

         * 计算相关压缩比例

         * @param option

         * @param reqWidth

         * @param reqHight

         * @return

         */

        public static int calculateInSimpleSize(BitmapFactory.Options option,

                int reqWidth, int reqHight) {

            // 获取图片的原始宽高

            int imageHight = option.outHeight;

            int imageWidht = option.outWidth;

     

            // 压缩比例

            int inSimpleSize = 1;

            if (imageHight > reqHight || imageWidht > reqWidth) {

                final int heightRatio = Math.round(1.0f * imageHight / reqHight);

                final int widthRatio = Math.round(1.0f * imageWidht / reqWidth);

                inSimpleSize = heightRatio < widthRatio ? heightRatio : widthRatio;

            }

            return inSimpleSize;

        }

    }

  • 相关阅读:
    用JS实现气泡效果
    如何判断浏览器JS代码
    你是怎么看完《JavaScript权威指南》《JavaScript高级程序设计》等这类厚书的?
    CSS3技巧:fit-content水平居中
    捋一捋JavaScript对象的理解
    js 判断数据类型的几种方法
    给想转行学习web前端的朋友提些学习建议及学习路线
    sentry 9.1.1docker版onepremise过程记录
    python内置函数all使用的坑
    centos7.2自带的php5.4升级为5.6
  • 原文地址:https://www.cnblogs.com/Yellow0-0River/p/4240080.html
Copyright © 2011-2022 走看看