android之canvas.draw方法需要注意的地方
程序开发
2023-09-08 06:47:52
如果需要在上图布局中画一个矩形(大小为上图布局一样大),并且线条宽为10dp即20px,需要实现后的效果如下(此篇使用的是1dp=2px的比例,用的时候请根据实际来进行换算):
布局高度int height = 100; //单位px 布局宽度int width = 200; //单位px 线条宽度int strokeWidth = 20; //单位px 那么,步骤: 1.画笔: Paint paint = new Paint(); 2.线条宽为10dp即20px,那么设置画笔为描边Stroke: paint.setStrokeWidth(20); //线条宽20px paint.setStyle(Paint.Style.STROKE); //设为描边,这样中间就是空的,不会被填充 3.那么开始画矩形,则位置必须是图中黑色线条位置来画,因为线条有宽度,也占了宽度的,所以画的时候位置 必须取线条中间 ,即图中黑色线条画的矩形,所以正确的画矩形应该是: canvas.drawRect(strokeWidth/2,strokeWidth/2,width-strokeWidth/2,height-strokeWidth/2,paint); //左上右下,画笔
延伸: 1.如果画矩形,如果不描边,即没有 paint.setStrokeWidth(20);和paint.setStyle(Paint.Style.STROKE);,那就直接以红色矩形的左上角为点画即可 2.如果画一个圆环,如下图,也是有描边,那么画圆的时候半径就是布局的一半减去线条宽度的一半
3.如果画线,drawline,如下图所示,若有 paint.setStrokeWidth(20) ,则表示画线的线条粗细为20px,那么画的时候坐标点就是下图红点,即左边界线条的中间点,即(0,10)这个点;
布局高度int height = 100; //单位px 布局宽度int width = 200; //单位px 线条宽度int strokeWidth = 20; //单位px 那么,步骤: 1.画笔: Paint paint = new Paint(); 2.线条宽为10dp即20px,那么设置画笔为描边Stroke: paint.setStrokeWidth(20); //线条宽20px paint.setStyle(Paint.Style.STROKE); //设为描边,这样中间就是空的,不会被填充 3.那么开始画矩形,则位置必须是图中黑色线条位置来画,因为线条有宽度,也占了宽度的,所以画的时候位置 必须取线条中间 ,即图中黑色线条画的矩形,所以正确的画矩形应该是: canvas.drawRect(strokeWidth/2,strokeWidth/2,width-strokeWidth/2,height-strokeWidth/2,paint); //左上右下,画笔
延伸: 1.如果画矩形,如果不描边,即没有 paint.setStrokeWidth(20);和paint.setStyle(Paint.Style.STROKE);,那就直接以红色矩形的左上角为点画即可 2.如果画一个圆环,如下图,也是有描边,那么画圆的时候半径就是布局的一半减去线条宽度的一半
3.如果画线,drawline,如下图所示,若有 paint.setStrokeWidth(20) ,则表示画线的线条粗细为20px,那么画的时候坐标点就是下图红点,即左边界线条的中间点,即(0,10)这个点;
标签:
上一篇:
布局:左侧菜单栏 右侧内容
下一篇:
相关文章
-
无相关信息