android编程中的琐碎知识点汇总(3)

1.图片加载方法,方便用户加载图片

Java代码   收藏代码
  1. /*** 
  2.  * 加载本地图片 
  3.  *  
  4.  * @param context 
  5.  *            :主运行函数实例 
  6.  * @param bitAdress 
  7.  *            :图片地址,一般指向R下的drawable目录 
  8.  * @return 
  9.  */  
  10. public final Bitmap CreatImage(Context context, int bitAdress) {  
  11.     Bitmap bitmaptemp = null;  
  12.     bitmaptemp = BitmapFactory.decodeResource(context.getResources(),  
  13.             bitAdress);  
  14.     return bitmaptemp;  
  15. }  

 2.图片平均分割方法,将大图平均分割为N行N列,方便用户使用

Java代码   收藏代码
  1. /*** 
  2.  * 图片分割 
  3.  *  
  4.  * @param g 
  5.  *            :画布 
  6.  * @param paint 
  7.  *            :画笔 
  8.  * @param imgBit 
  9.  *            :图片 
  10.  * @param x 
  11.  *            :X轴起点坐标 
  12.  * @param y 
  13.  *            :Y轴起点坐标 
  14.  * @param w 
  15.  *            :单一图片的宽度 
  16.  * @param h 
  17.  *            :单一图片的高度 
  18.  * @param line 
  19.  *            :第几列 
  20.  * @param row 
  21.  *            :第几行 
  22.  */  
  23. public final void cuteImage(Canvas g, Paint paint, Bitmap imgBit, int x,  
  24.         int y, int w, int h, int line, int row) {  
  25.     g.clipRect(x, y, x + w, h + y);  
  26.     g.drawBitmap(imgBit, x - line * w, y - row * h, paint);  
  27.     g.restore();  
  28. }  

 3.图片缩放,对当前图片进行缩放处理

Java代码   收藏代码
  1. /*** 
  2.  * 图片的缩放方法 
  3.  *  
  4.  * @param bgimage 
  5.  *            :源图片资源 
  6.  * @param newWidth 
  7.  *            :缩放后宽度 
  8.  * @param newHeight 
  9.  *            :缩放后高度 
  10.  * @return 
  11.  */  
  12. public Bitmap zoomImage(Bitmap bgimage, int newWidth, int newHeight) {  
  13.     // 获取这个图片的宽和高  
  14.     int width = bgimage.getWidth();  
  15.     int height = bgimage.getHeight();  
  16.     // 创建操作图片用的matrix对象  
  17.     Matrix matrix = new Matrix();  
  18.     // 计算缩放率,新尺寸除原始尺寸  
  19.     float scaleWidth = ((float) newWidth) / width;  
  20.     float scaleHeight = ((float) newHeight) / height;  
  21.     // 缩放图片动作  
  22.     matrix.postScale(scaleWidth, scaleHeight);  
  23.     Bitmap bitmap = Bitmap.createBitmap(bgimage, 00, width, height,  
  24.             matrix, true);  
  25.     return bitmap;  
  26. }  

 4.绘制带有边框的文字,一般在游戏中起文字的美化作用

Java代码   收藏代码
  1. /*** 
  2.  * 绘制带有边框的文字 
  3.  *  
  4.  * @param strMsg 
  5.  *            :绘制内容 
  6.  * @param g 
  7.  *            :画布 
  8.  * @param paint 
  9.  *            :画笔 
  10.  * @param setx 
  11.  *            ::X轴起始坐标 
  12.  * @param sety 
  13.  *            :Y轴的起始坐标 
  14.  * @param fg 
  15.  *            :前景色 
  16.  * @param bg 
  17.  *            :背景色 
  18.  */  
  19. public void drawText(String strMsg, Canvas g, Paint paint, int setx,  
  20.         int sety, int fg, int bg) {  
  21.     paint.setColor(bg);  
  22.     g.drawText(strMsg, setx + 1, sety, paint);  
  23.     g.drawText(strMsg, setx, sety - 1, paint);  
  24.     g.drawText(strMsg, setx, sety + 1, paint);  
  25.     g.drawText(strMsg, setx - 1, sety, paint);  
  26.     paint.setColor(fg);  
  27.     g.drawText(strMsg, setx, sety, paint);  
  28.     g.restore();  
  29. }  

 5.图片分割的最简便方式

Java代码   收藏代码
  1. public final Bitmap cuteImage(Bitmap _imgBit, int _startX, int width,  
  2. int _startY, int height) {  
  3.     Bitmap tempMap = null;  
  4.     tempMap = Bitmap.createBitmap(_imgBit, _startX, _startY, width, height);  
  5.     return tempMap;  
  6. }  

 6.字符串分行显示

Java代码   收藏代码
  1. public String[] StringFormat(String text, int maxWidth, int fontSize) {  
  2.     String[] result = null;  
  3.     Vector<String> tempR = new Vector<String>();  
  4.     int lines = 0;  
  5.     int len = text.length();  
  6.     int index0 = 0;  
  7.     int index1 = 0;  
  8.     boolean wrap;  
  9.     while (true) {  
  10.         int widthes = 0;  
  11.         wrap = false;  
  12.         for (index0 = index1; index1 < len; index1++) {  
  13.             if (text.charAt(index1) == '\n') {  
  14.                 index1++;  
  15.                 wrap = true;  
  16.                 break;  
  17.             }  
  18.             widthes = fontSize + widthes;  
  19.             if (widthes > maxWidth) {  
  20.                 break;  
  21.             }  
  22.         }  
  23.         lines++;  
  24.         if (wrap) {  
  25.             tempR.addElement(text.substring(index0, index1 - 1));  
  26.         } else {  
  27.             tempR.addElement(text.substring(index0, index1));  
  28.         }  
  29.         if (index1 >= len) {  
  30.             break;  
  31.         }  
  32.     }  
  33.     result = new String[lines];  
  34.     tempR.copyInto(result);  
  35.     return result;  

你可能感兴趣的:(android)