• 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;  

  • 相关阅读:
    C#捕获摄像头进行拍照和录像资料总结
    MySQL:日期函数、时间函数总结(MySQL 5.X)
    apache 虚拟主机详细配置:http.conf配置详解
    [转载文章]6个重要的.NET概念:栈,堆,值类型,引用类型,装箱,拆箱
    GetType和typeof的区别
    [转]C#读写xml文件
    DateTime 格式化
    jquery sortable 插件参数详解
    [转]一个人脸检测器
    why SOA
  • 原文地址:https://www.cnblogs.com/myphoebe/p/2314833.html
Copyright © 2020-2023  润新知