• android第三天晚:绘图


    视频:善知堂Android   http://www.verycd.com/topics/2915940/

    今天加班 10点多才到家

    第三集 绘图2

     1.绘不同的图形。

    class GameView extends View {
    
            private Paint paint = null;
    
            public GameView(Context context) {
                super(context);
                paint = new Paint();//画笔
            }
    
            @Override
            protected void onDraw(Canvas canvas) {
                // TODO Auto-generated method stub
                super.onDraw(canvas);
                paint.setColor(Color.RED);
                paint.setStrokeWidth(5);// 画笔粗
                canvas.drawLine(0, 0, 100, 111, paint);// 画一条线
                Path path = new Path(); // 画自定义图形,多边形。。
                path.moveTo(110, 110);
                path.lineTo(300, 100);
                path.lineTo(180, 400);
                path.close(); //完成图形,回起点。
                canvas.drawPath(path, paint); //可以不画出来
                canvas.drawText("helloworld", 100, 50, paint);
                // 沿着路径画字符串
                canvas.drawTextOnPath("11111111111111112dsfdsfdsfsdfsdfsfsdf11111111111111112dsfdsfdsfsdfsdfsfsdf11111112",
                        path, 0, 0, paint);
                
            }
        }

    这是结果,数字会围绕着图形。字符串长度超过图形的话,后面自动被截断。

    2.使用图片

    使用Bitmap (位图)

    this.getResources() 获得资源目录。可以获得string,layout,drawable。

    @Override
            protected void onDraw(Canvas canvas) {
                super.onDraw(canvas);
                Bitmap bitmap = ((BitmapDrawable) this.getResources().getDrawable(
                        R.drawable.ic_launcher)).getBitmap();// 位图
                // 第二种取图片的方法
                Bitmap bitmap2 = BitmapFactory.decodeResource(this.getResources(),
                        R.drawable.ic_launcher);
                canvas.drawBitmap(bitmap, 0, 0, null);
                //src 是图片中取出部分,dst是将这部分画的位置
                Rect src =new Rect(24,24,49,49);
                Rect dst =new Rect(200,200,225,225);
                canvas.drawBitmap(bitmap2, src, dst, null);
    
            }

    这个画图片中的一部分功能会非常使用,还有旋转,按比例放大,缩小,拉伸,倾斜等的功能。

    matrix中set 是设置特效,使用post可以叠加特效  平移,倾斜,旋转,大小。pre是之前执行特效。

    默认围绕一个中心点来进行,不指定的情况下围绕0,0为中心点

    第三天晚 完

  • 相关阅读:
    63. Unique Paths II(中等, 能独立做出来的DP类第二个题^^)
    3.2 2-dim Vector Initialization
    62. Unique Paths(中等,我自己解出的第一道 DP 题^^)
    漫画:什么是动态规划?
    120. Triangle(中等)
    128. Longest Consecutive Sequence
    80. Remove Duplicates from Sorted Array II
    81. Search in Rotated Sorted Array II (中等)
    59. Spiral Matrix II(中等,同54题)
    spring cloud
  • 原文地址:https://www.cnblogs.com/wanself/p/2577015.html
Copyright © 2020-2023  润新知