注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

回首望星辰

See you in the next world

 
 
 

日志

 
 

android图片处理  

2009-08-19 09:44:24|  分类: 手机开发 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

        /***

         * 加载本地图片

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

        }

  评论这张
 
阅读(1977)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017