网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

AndroidStudio画笔功能绘制简单图形-创新互联

一 设置页面布局

设置activity_main.xml为帧布局便于画图时直接使用位置进行绘制

超过十年行业经验,技术领先,服务至上的经营模式,全靠网络和口碑获得客户,为自己降低成本,也就是为客户降低成本。到目前业务范围包括了:做网站、网站建设,成都网站推广,成都网站优化,整体网络托管,微信平台小程序开发,微信开发,重庆App定制开发,同时也可以让客户的网站和网络营销和我们一样获得订单和生意!二 新建java类用于编写绘图代码

在mainactivity目录下新建myview类

三 继承原有view方法 并设定画布
public class MyView extends View {public MyView(Context context) {super(context);
    }

    @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
    @Override
    protected void onDraw(Canvas canvas) {//编辑画布类
        super.onDraw(canvas);
    }
}
四 定义画笔
Paint paint2 = new Paint();//定义画笔
        paint2.setStyle(Paint.Style.FILL);//设定画笔类型 fill为填充
        paint2.setColor(0xff99ffff);//定义画笔颜色 34位为透明度 默认空为100%透明 ff为完全不透明 最后6位为颜色

        Paint paint1 = new Paint();//定义画笔
        paint1.setStyle(Paint.Style.STROKE);//设定画笔类型 stroke为描边
        paint1.setColor(0xff663399);//定义画笔颜色 34位为透明度 默认空为100%透明 ff为完全不透明 最后6位为颜色
        paint1.setStrokeWidth(20);//定义边框宽度
五 绘制图形 (1)矩形
 canvas.drawRect(100,100,400,300,paint1);
         //绘制矩形 前俩为左上角 后俩为右下角 最后为使用的画笔

输出图形
输出图形

(2)圆形
 canvas.drawCircle(250, 600, 150, paint1);
         //绘制空心圆 前两为圆心位置 后一个半径 最后为使用的画笔

输出图形
输出图形

(3)椭圆形
canvas.drawOval(100,900,400,1100, paint1);
        //绘制空心椭圆 设定外边框矩形 前俩为左上角 后俩为右下角 最后为使用的画笔

输出图形
输出图形

(4)用路径绘制自定义多边形
//使用路径法绘制自定义图形
        Path path1 = new Path();
        path1.moveTo(250, 1250);//设定起始点
        path1.lineTo(100,1500);//顶点1
        path1.lineTo(400,1500);//顶点2
        path1.close();//最后一个点与顶点相连
        canvas.drawPath(path1, paint1);//绘制空心三角形

输出图形
输出图形

(5)弧形或者扇形
//绘制弧形或者扇形
        RectF rectF2 = new RectF(600, 1700, 900, 2000);//定义弧形的外边框矩形
        canvas.drawArc(rectF2,0,225,true, paint1);
        RectF rectF3 = new RectF(600, 1200, 900, 1500);//定义弧形的外边框矩形
        canvas.drawArc(rectF3,0,225,false, paint2);
        //第一个为外边框矩形
        //第二个为初始方向 0为3点钟方向 顺时针增加 逆时针减少
        //第三个为划过角度 顺时针增加 逆时针减少
        //第四个为是否连接中心点
        //第五个为使用的画笔类型

输出图形
在这里插入图片描述

示例 myview.java
package com.example.paint;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.Path;
import android.graphics.RectF;
import android.os.Build;
import android.view.View;

import androidx.annotation.RequiresApi;

public class MyView extends View {public MyView(Context context) {super(context);
    }

    @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
    @Override
    protected void onDraw(Canvas canvas) {//编辑画布类
        super.onDraw(canvas);
        Paint paint2 = new Paint();//定义画笔
        paint2.setStyle(Paint.Style.FILL);//设定画笔类型 fill为填充
        paint2.setColor(0xff99ffff);//定义画笔颜色


        Paint paint1 = new Paint();//定义画笔
        paint1.setStyle(Paint.Style.STROKE);//设定画笔类型 stroke为描边
        paint1.setColor(0xff663399);//定义画笔颜色
        paint1.setStrokeWidth(20);//定义边框宽度

        canvas.drawRect(100,100,400,300,paint1);//绘制空心矩形 前俩为左上角 后俩为右下角 最后为使用的画笔
        canvas.drawCircle(250, 600, 150, paint1);//绘制空心圆 前两为圆心位置 后一个半径 最后为使用的画笔
        canvas.drawOval(100,900,400,1100, paint1);//绘制空心椭圆 设定外边框矩形 前俩为左上角 后俩为右下角 最后为使用的画笔

        canvas.drawRect(600,100,900,300,paint2);//绘制实心矩形 前俩为左上角 后俩为右下角 最后为使用的画笔
        canvas.drawCircle(750, 600, 150, paint2);//绘制实心圆 前两为圆心位置 后一个半径 最后为使用的画笔
        canvas.drawOval(600,900,900,1100, paint2);//绘制实心椭圆 设定外边框矩形 前俩为左上角 后俩为右下角 最后为使用的画笔

        //使用路径法绘制自定义图形
        Path path1 = new Path();
        path1.moveTo(250, 1250);//设定起始点
        path1.lineTo(100,1500);//顶点1
        path1.lineTo(400,1500);//顶点2
        path1.close();//最后一个点与顶点相连
        canvas.drawPath(path1, paint1);//绘制空心三角形

        //绘制弧形或者扇
        RectF rectF1 = new RectF(100, 1700, 400, 2000);//定义弧形的外边框矩形
        canvas.drawArc(rectF1,0,225,false, paint1);
        RectF rectF2 = new RectF(600, 1700, 900, 2000);//定义弧形的外边框矩形
        canvas.drawArc(rectF2,0,225,true, paint1);
        RectF rectF3 = new RectF(600, 1200, 900, 1500);//定义弧形的外边框矩形
        canvas.drawArc(rectF3,0,225,false, paint2);
        //第一个为外边框矩形
        //第二个为初始方向 0为3点钟方向 顺时针增加 逆时针减少
        //第三个为划过角度 顺时针增加 逆时针减少
        //第四个为是否连接中心点
        //第五个为使用的画笔类型
    }
}

运行结果图
运行结果图

作者:张峰腾
学号:116052020132
原文地址:https://blog.csdn.net/m0_56687634/article/details/128178373?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22128178373%22%2C%22source%22%3A%22m0_56687634%22%7D

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


分享标题:AndroidStudio画笔功能绘制简单图形-创新互联
标题路径:http://bjjierui.cn/article/djjsoe.html

其他资讯