现在的位置: 首页 > 综合 > 正文

android图片处理一

2018年05月13日 ⁄ 综合 ⁄ 共 2377字 ⁄ 字号 评论关闭

  /***

         * 加载本地图片

         * @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();

        }

抱歉!评论已关闭.