zoukankan      html  css  js  c++  java
  • 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为中心点

    第三天晚 完

  • 相关阅读:
    《小C QQ空间转帖、分享工具》之QQ空间数据传递的g_tk算法(C#)
    2.线性回归
    1(3).频率派 VS 贝叶斯派
    sklearn---SVM
    sklearn总览
    word转pdf时图片质量下降的解决方案
    python-字符串前面添加u,r,b的含义
    matplotlib---保存图片出现的问题
    matplotlib---设置线条颜色及形状
    numpy中arange()和linspace()区别
  • 原文地址:https://www.cnblogs.com/wanself/p/2577015.html
Copyright © 2011-2022 走看看