zoukankan      html  css  js  c++  java
  • 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;
            }
    4.绘制带有边框的文字,一般在游戏中起文字的美化作用
            /***
             * 绘制带有边框的文字
             * 
             * @param strMsg
             *            :绘制内容
             * @param g
             *            :画布
             * @param paint
             *            :画笔
             * @param setx
             *            ::X轴起始坐标
             * @param sety
             *            :Y轴的起始坐标
             * @param fg
             *            :前景色
             * @param bg
             *            :背景色
             */
            public void drawText(String strMsg, Canvas g, Paint paint, int setx,
                            int sety, int fg, int bg) {
                    paint.setColor(bg);
                    g.drawText(strMsg, setx + 1, sety, paint);
                    g.drawText(strMsg, setx, sety - 1, paint);
                    g.drawText(strMsg, setx, sety + 1, paint);
                    g.drawText(strMsg, setx - 1, sety, paint);
                    paint.setColor(fg);
                    g.drawText(strMsg, setx, sety, paint);
                    g.restore();
            }

  • 相关阅读:
    左右布局,中分线可以左右拖动
    ES6
    nodeclub route
    nodeclub models
    mybatis中sql语句查询操作
    mybatis开发dao的方式
    Mybatis框架入门
    Maven
    Android开发-ADT Bundle安装
    人类史一览
  • 原文地址:https://www.cnblogs.com/xyzlmn/p/3168388.html
Copyright © 2011-2022 走看看