android开发中图片优化步骤

时间:2023-11-10 18:11:26

android开发中图片优化方法

  1.图片加载方法,方便用户加载图片
    /***
    * 加载本地图片
    * @param context:主运行函数实例
    * @param bitAdress:图片地址,一般指向R下的drawable目录
    * @return
    */
    public final Bitmap CreatImage(Context context, int bitAdress) {
        Bitmap bitmaptemp = null;
        bitmaptemp = BitmapFactory.decodeResource(context.getResources(),
                    bitAdress);
        return bitmaptemp;
    }
2.图片平均分割方法,将大图平均分割为N行N列,方便用户使用

    /***
    * 图片分割
    * 
    * @param g
    *       :画布
    * @param paint
    *       :画笔
    * @param imgBit
    *       :图片
    * @param x
    *       :X轴起点坐标
    * @param y
    *       :Y轴起点坐标
    * @param w
    *       :单一图片的宽度
    * @param h
    *       :单一图片的高度
    * @param line
    *       :第几列
    * @param row
    *       :第几行
    */
    public final void cuteImage(Canvas g, Paint paint, Bitmap imgBit, int x,
              int y, int w, int h, int line, int row) {
        g.clipRect(x, y, x + w, h + y);
        g.drawBitmap(imgBit, x - line * w, y - row * h, paint);
        g.restore();
    }

3.图片缩放,对当前图片进行缩放处理
    /***
    * 图片的缩放方法
    * 
    * @param bgimage
    *       :源图片资源
    * @param newWidth
    *       :缩放后宽度
    * @param newHeight
    *       :缩放后高度
    * @return
    */
    public Bitmap zoomImage(Bitmap bgimage, int newWidth, int newHeight) {
        // 获取这个图片的宽和高
        int width = bgimage.getWidth();
        int height = bgimage.getHeight();
        // 创建操作图片用的matrix对象
        Matrix matrix = new Matrix();
        // 计算缩放率,新尺寸除原始尺寸
        float scaleWidth = ((float) newWidth) / width;
        float scaleHeight = ((float) newHeight) / height;
        // 缩放图片动作
        matrix.postScale(scaleWidth, scaleHeight);
        Bitmap bitmap = Bitmap.createBitmap(bgimage, 0, 0, width, height,
                    matrix, true);
        return bitmap;
    }