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;

        }

    }

  • 相关阅读:
    [codevs 1227] 方格取数 2
    记冬令营
    Codeforces Round 558(Div 2)题解
    Educational Round 64 题解
    [GXOI/GZOI2019]与或和(位运算,单调栈)
    LOJ6053 简单的函数(min_25筛)
    LOJ6235 区间素数个数(min_25筛)
    min_25筛学习笔记
    CF1142C U2(计算几何,凸包)
    关于一些没做出来的SBCF题
  • 原文地址:https://www.cnblogs.com/Yellow0-0River/p/4240080.html
Copyright © 2011-2022 走看看