canvas,paint的用法

Moltemplate建模----水盒子data文件 1功能介绍 Moltemplate是LAMMPS官方支持的建模工具之一,适用于LAMMPS建模。该程序创建了一种简单的文件格式来存储分子定义和力场,即模板LT。LT文件包含与特定分子有关的所有文本(包括坐标,键拓扑,角度,力场参数,约束,组和修复)。 Moltemplate可以复制分子,对其进行自定义,然后用它作为构建更大、更复杂分子的基础。构建后,可以自定义... 阅读详情

a## 介绍canvas,paint的用法 ##

package com.itanelse.piantcanvas;

import android.annotation.SuppressLint;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.LinearGradient;
import android.graphics.Paint;
import android.graphics.Path;
import android.graphics.RectF;
import android.graphics.Shader;
import android.util.AttributeSet;
import android.view.View;

@SuppressLint("DrawAllocation")
public class DrawView extends View {

    private Paint paint;

    public DrawView(Context context) {
        this(context, null);
    }

    public DrawView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
        paint = new Paint();
        paint.setColor(Color.RED);// 设置红色
        canvas.drawText("画圆", 10, 10, paint);
        canvas.drawCircle(60, 20, 10, paint);// 画小圆
        paint.setAntiAlias(true);// 设置画笔的锯齿效果。 true是去除
        canvas.drawCircle(120, 20, 20, paint);// 画大圆

        canvas.drawText("画线及弧线:", 10, 60, paint);
        paint.setColor(Color.GREEN);// 设置绿色
        canvas.drawLine(60, 40, 100, 40, paint);// 画线
        canvas.drawLine(110, 40, 190, 80, paint);// 斜线

        // 画笑脸弧线
        paint.setStyle(Paint.Style.STROKE);// 设置空心
        // oval :指定圆弧的外轮廓矩形区域。
        // startAngle: 圆弧起始角度,单位为度。
        // sweepAngle: 圆弧扫过的角度,顺时针方向,单位为度。
        // useCenter: 如果为True时,在绘制圆弧时将圆心包括在内,通常用来绘制扇形。
        // paint: 绘制圆弧的画板属性,如颜色,是否填充等。

        RectF oval1 = new RectF(150, 20, 180, 40);
        canvas.drawArc(oval1, 180, 180, false, paint);// 小弧形
        oval1.set(190, 20, 220, 40);
        canvas.drawArc(oval1, 180, 180, false, paint);// 小弧形
        oval1.set(160, 30, 210, 60);
        canvas.drawArc(oval1, 0, 180, false, paint);// 小弧形

        canvas.drawText("画矩形:", 10, 80, paint);
        paint.setColor(Color.GRAY);// 设置灰色
        paint.setStyle(Paint.Style.FILL);// 设置填满
        canvas.drawRect(60, 60, 80, 80, paint);// 正方形
        canvas.drawRect(60, 90, 160, 100, paint);// 长方形

        canvas.drawText("画扇形和椭圆:", 10, 120, paint);
        /*
         * Gradient:渐变的.shader:着色器.LinearGradient:线性渲染 设置渐变色 这个正方形的颜色是改变的
         */
        // 创建LinearGradient并设置渐变颜色数组
        // 第一个,第二个参数表示渐变起点 可以设置起点终点在对角等任意位置
        // 第三个,第四个参数表示渐变终点
        // 第五个参数表示渐变颜色
        // 第六个参数可以为空,表示坐标,值为0-1 new float[] {0.25f, 0.5f, 0.75f, 1 }
        // 如果这是空的,颜色均匀分布,沿梯度线。
        // 第七个表示平铺方式
        // CLAMP重复最后一个颜色至最后
        // MIRROR重复着色的图像水平或垂直方向,以镜像方式填充会有翻转效果
        // REPEAT重复着色的图像水平或垂直方向
        Shader mShader = new LinearGradient(0, 0, 100, 100, new int[] {
                Color.GRAY, Color.GREEN, Color.BLUE, Color.YELLOW, Color.RED },
                null, Shader.TileMode.MIRROR); // 一个材质,打造出一个线性梯度沿著一条线。
        paint.setShader(mShader);
        // paint.setColor(Color.BLUE);
        // paint.setStyle(Style.STROKE);
        RectF oval2 = new RectF(60, 100, 200, 240);// 设置个新的长方形,扫描测量
        canvas.drawArc(oval2, 200, 130, false, paint);
        // 画弧,第一个参数是RectF:该类是第二个参数是角度的开始,第三个参数是多少度,第四个参数是真的时候画扇形,是假的时候画弧线
        // 画椭圆,把oval改一下
        oval2.set(210, 100, 250, 130);
        canvas.drawOval(oval2, paint);

        canvas.drawText("画三角形:", 10, 200, paint);
        // 绘制这个三角形,你可以绘制任意多边形
        Path path = new Path();
        path.moveTo(80, 200);// 此点为多边形的起点
        path.lineTo(120, 250);
        path.lineTo(80, 250);
        path.close(); // 使这些点构成封闭的多边形
        canvas.drawPath(path, paint);

        // 你可以绘制很多任意多边形,比如下面画六连形
        paint.reset();// 重置
        paint.setColor(Color.LTGRAY);
        paint.setStyle(Paint.Style.STROKE);// 设置空心
        Path path1 = new Path();
        path1.moveTo(180, 200);
        path1.lineTo(200, 200);
        path1.lineTo(210, 210);
        path1.lineTo(200, 220);
        path1.lineTo(180, 220);
        path1.lineTo(170, 210);
        path1.close();// 封闭
        canvas.drawPath(path1, paint);
        /*
         * Path类封装复合(多轮廓几何图形的路径
         * 由直线段、二次曲线,和三次方曲线,也可画以油画。drawPath(路径、油漆),要么已填充的或抚摸
         * (基于油漆的风格),或者可以用于剪断或画画的文本在路径。
         */

        // 画圆角矩形
        paint.setStyle(Paint.Style.FILL);// 充满
        paint.setColor(Color.LTGRAY);
        paint.setAntiAlias(true);// 设置画笔的锯齿效果
        canvas.drawText("画圆角矩形:", 10, 260, paint);
        RectF oval3 = new RectF(80, 260, 200, 300);// 设置个新的长方形
        // 第二个参数是x方向圆角半径,第三个参数是y方向圆角半径
        canvas.drawRoundRect(oval3, 20, 15, paint);

        // 画贝塞尔曲线
        canvas.drawText("画贝塞尔曲线:", 10, 310, paint);
        paint.reset();
        paint.setStyle(Paint.Style.STROKE);
        paint.setColor(Color.GREEN);
        Path path2 = new Path();
        path2.moveTo(100, 320);// 设置Path的起点
        path2.quadTo(150, 310, 170, 400); // 设置贝塞尔曲线的控制点坐标和终点坐标
        canvas.drawPath(path2, paint);// 画出贝塞尔曲线

        // 画点
        paint.setStyle(Paint.Style.FILL);
        paint.setColor(Color.RED);
        canvas.drawText("画点:", 10, 390, paint);
        canvas.drawPoint(60, 390, paint);// 画一个点
        canvas.drawPoints(new float[] { 60, 400, 65, 400, 70, 400 }, paint);// 画多个点

        // 画图片,就是贴图
        Bitmap bitmap = BitmapFactory.decodeResource(getResources(),
                R.drawable.ic_launcher);
        canvas.drawBitmap(bitmap, 250, 360, paint);
    }

}

效果:
这里写图片描述

Path对象

在代码中我们看到了我们新建了一个Paint画笔对象,对于画笔对象,它有很多设置属性的:

void setARGB(int a, int r, int g, int b) 设置Paint对象颜色,透明度和RGB分量的int值,第一个参数为透明度,后三个参数为RGB

void setAlpha(int a) 设置alpha透明度,范围为0~255.数值越小,越透明,颜色上表现越淡。实际上当设成10以下就会有透明的效果了

void setAntiAlias(boolean aa) //是否抗锯齿,默认值是false,关于锯齿,如果没有锯齿效果,那么画出来的圆形就很光滑,有锯齿看上去的圆形很粗糙的。但是默认情况下,画笔是有锯齿的。之所以这样,是因为在没有锯齿效果的情况下,绘制图形效率会比有锯齿效果低,所以系统考虑了效率问题,就把默认值设置成有锯齿了

void setColor(int color) //设置颜色,这里Android内部定义的有Color类包含了一些常见颜色定义

void setFakeBoldText(boolean fakeBoldText) //设置伪粗体文本

void setLinearText(boolean linearText) //设置线性文本

PathEffect setPathEffect(PathEffect effect) //设置路径效果

Rasterizer setRasterizer(Rasterizer rasterizer) //设置光栅化

Shader setShader(Shader shader) //设置阴影 ,我们在后面会详细说一下Shader对象的

void setTextAlign(Paint.Align align) //设置文本对齐

void setTextScaleX(float scaleX) //设置文本缩放倍数,1.0f为原始

void setTextSize(float textSize) //设置字体大小

Typeface setTypeface(Typeface typeface) //设置字体,Typeface包含了字体的类型,粗细,还有倾斜、颜色等
如:
注:
Paint paint = new paint();
mp.setTypeface(Typeface.DEFAULT_BOLD)

常用的字体类型名称还有:
Typeface.DEFAULT //常规字体类型
Typeface.DEFAULT_BOLD //黑体字体类型
Typeface.MONOSPACE //等宽字体类型
Typeface.SANS_SERIF //sans serif字体类型
Typeface.SERIF //serif字体类型

除了字体类型设置之外,还可以为字体类型设置字体风格,如设置粗体:
Paint paint = new Paint();
Typeface font = Typeface.create(Typeface.SANS_SERIF, Typeface.BOLD);
paint.setTypeface( font );

常用的字体风格名称还有:
Typeface.BOLD //粗体
Typeface.BOLD_ITALIC //粗斜体
Typeface.ITALIC //斜体
Typeface.NORMAL //常规

void setUnderlineText(boolean underlineText) //设置下划线

void setStyle(Style style) //设置画笔样式

注:常用的样式

Paint.Style.FILL
Paint.Style.STROKE
Paint.Style.FILL_AND_STROKE

这里的FILL和STROKE两种方式用的最多,他们的区别也很好理解的,FILL就是填充的意思,STROKE就是空心的意思,只有 图形的轮廓形状,内部是空的。

void setStrokeWidth(float width) //在画笔的样式为STROKE的时候,图形的轮廓宽度

Canvas对象

画圆(drawCircle)

画出一个圆形的话需要哪些要素:圆形坐标+半径 就可以确定一个圆形了

    canvas.drawCircle(120, 20, 20, paint);  

参数一:圆心的x坐标
参数二:圆心的y坐标
参数三:圆的半径
参数四:画笔对象

画直线(drawLine)

画出一个直线的话需要哪些要素,起始点坐标+终点坐标 就可以确定一条直线了

canvas.drawLine(60, 40, 100, 40, paint);// 画线 

参数一:起始点的x坐标
参数二:起始点的y坐标
参数三:终点的x坐标
参数四:终点的y坐标
参数五:画笔对象

画椭圆(drawOval)

画出椭圆的话需要哪些要素,长轴+短轴的长度

RectF oval1=new RectF(150,20,180,40);  
canvas.drawOval(oval2, paint); 

参数一:椭圆的外接矩形
参数二:画笔对象

这里先来说一下RectF的相关知识吧:在绘图中这个对象是十分重要的,它表示的是一个矩形,它有四个参数:
left,top,right,bottom
这四个值是相对于设备屏幕的起始点开始的。
这里写图片描述
矩形的左上角的坐标是:(150,20)
矩形的右下角的坐标是:(180,30)
那么我们就知道这个矩形的宽是:180-150=30;高是:40-20=20

其实还有与RectF对象对应的还有一个对象:Rect,它也是四个参数,和RectF唯一的区别就是,Rect中的参数是float类型的,RectF中的参数是int类型的

那么一个矩形就可以确定一个椭圆的,这个矩形就是和这个椭圆外接:那么椭圆的长轴就是矩形的宽,短轴就是矩形的高.

这样就可以确定一个椭圆了,那么如果我们想画一个圆形的话用这种方式也是可以的,只要把RectF设置成正方形就可以了。

画弧线/画扇形(drawArc)

画出一个弧线的话需要哪些要素,起始的弧度+弧线的弧度+外围的矩形大小.这个和上面画椭圆很相似的,就相当于在他的基础上多了其实弧度+弧线的弧度.

paint.setStyle(Paint.Style.STROKE);//设置空心  
RectF oval1=new RectF(150,20,180,40);  
canvas.drawArc(oval1, 180, 180, false, paint);//小弧形

参数一:外接弧形的矩形
参数二:弧线开始的弧度
参数三:弧线的弧度
参数四:是一个boolean类型的参数:true的时候画扇形,是false的时候画弧线
参数五:画笔对象
这里写图片描述

画矩形(drawRect)
RectF oval1=new RectF(150,20,180,40);  
canvas.drawRect(oval1, paint);

参数一:矩形对象
参数二:画笔对象

画圆角矩形(drawRoundRect)
RectF oval3 = new RectF(80, 260, 200, 300);// 设置个新的长方形  
canvas.drawRoundRect(oval3, 20, 15, paint);//第二个参数是x半径,第三个参数是y半径

参数一:矩形大小
参数二:圆角的x半径(椭圆的长轴的一半)
参数三:圆角的y半径(椭圆的短轴的一半)
参数四:画笔对象
这里写图片描述
这个和正常的矩形不一样的是:在四个角是有弧度的,那么弧度的话,就会想到椭圆了,我们在上面说道椭圆的几个要素:长轴和短轴,那么这里就是取长轴的一半和短轴的一半

画三角形/多边形(drawPath)

绘制三角形/多边形的话需要哪些要素,能确定多边形的形状最重要的因素就是角,那么这些角就是一个坐标

Path path = new Path();  
path.moveTo(80, 200);// 此点为多边形的起点  
path.lineTo(120, 250);  
path.lineTo(80, 250);  
path.close(); // 使这些点构成封闭的多边形  
canvas.drawPath(path, paint); 

这里需要介绍一下Path对象了,这个对象见名知意,是路径的意思,它有两个参数:
参数一:x坐标
参数二:y坐标
路径是多个点相连接的。所以Path提供了两个方法:moveTo和lineTo,moveTo方法的作用是设置我们绘制路径的开始点,如果没有这个方法的调用的话,系统默认的开始点是(0,0)点,lineTo方法就是将路径的上一个坐标点和当前坐标点进行连接,或者可以认为设置多边形的每个角的坐标点,那么对于三角形的话,我们需要三个点即可。
这个画三角形其实我们用上面的画直线的方法也可以实现的,反过来也是,我们用Path对象也是可以画出一条直线的,那么他们的本质区别是:
绘制路径方式的焦点是角(坐标点)
绘制直线的方式的焦点是边(长度)

画点(drawPoint)
canvas.drawPoint(60, 390, paint);//画一个点  
canvas.drawPoints(new float[]{60,400,65,400,70,400}, paint);//画多个点 

这里有两个方法:
drawPoint
参数一:点的x坐标
参数二:点的y坐标
参数三:画笔对象
drawPoints
参数一:多个点的数组
参数二:画笔对象

画贝塞尔曲线(drawPath)

绘制贝塞尔曲线的时候,我们需要的要素是:起始点+控制点+终点

    Path path2=new Path();  
    path2.moveTo(100, 320);//设置Path的起点  
    path2.quadTo(150, 310, 170, 400); //设置贝塞尔曲线的控制点坐标和终点坐标  
    canvas.drawPath(path2, paint);//画出贝塞尔曲线  

它也是使用Path对象的。不过用的是quadTo方法
参数一:控制点的x坐标
参数二:控制点的y坐标
参数三:终点的x坐标
参数四:终点的y坐标
这里需要注意的是,调用moveTo方法来确定开始坐标的,如果没有调用这个方法,那么起始点坐标默认是:(0,0).

绘制图片(drawBitmap)
//画图片,就是贴图  
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);  
canvas.drawBitmap(bitmap, 250,360, paint); 

参数一:图片对象Bitmap
参数二:图片相对于设备屏幕的left值
参数二:图片相对于设备屏幕的top值
其实我们可以把图片认为是一个矩形,因为图片本身是有长度和宽度的,所以这里只需要矩形的左上角的坐标点,就可以确定这张图片在屏幕中的位置了。

中国城市统计年鉴1991-2024面板数据真正无缺失值填补指标说明 大学普通高等中等职业教育成人中小学学前教育在校学生人数。大学普通高等中等职业教育成人中小学学前教育在校学生人数。大学普通高等中等职业教育成人中小学学前教育在校学生人数。大学普通高等中等职业教育成人中小学学前教育在校学生人数。大学普通高等中等职业教育成人中小学学前教育在校学生人数。大学普通高等中等职业教育成人中小学学前教育在校学生人数。大学普通高等中等职业教育成人中小学学前教育在校学生人数。大学普通高等中等职业教育成人中小学学前教育在校学生人数。大学普通高等中等职业教育成人中小学学前教育在校学生人数。 阅读详情

相关推荐

DC-DC电源PCB布局实战:从EMI优化到热管理

本文深入探讨了DC-DC电源PCB布局的核心实战技巧。文章从分析电流环路入手,强调通过优化“黄金三角”布局以最小化环路面积,从而有效抑制EMI并提升效率。详细阐述了功率器件摆放、地线分割、敏感信号布线、电感下方铺铜策略以及热管理设计等关键步骤,为工程师提供了一套从理论到实践的完整布局指南。

z5a6b的博客 720

Paint及Canvas的简单应用

在Android中需要通过graphics类来显示2D图形。   graphics中包括了Canvas(画布)、Paint(画笔)、Color(颜色)、Bitmap(图像)等常用的类。graphics具有绘制点、线、颜色、2D几何图形、图像处理等功能。   1.Color(颜色)类   Android系统中颜色的常用表示方法有以下3种:   (1)int color = Color.BLU

u013132665的专栏 844

Hypermesh2021实战:塑料圆盘结构化网格划分全流程(附避坑指南)

本文详细介绍了使用Hypermesh2021进行塑料圆盘结构化网格划分的全流程操作,包括几何预处理、网格生成策略及质量验证。特别针对工程实践中常见的12个典型问题提供解决方案,帮助用户提升CAE仿真分析的精度和效率。

weixin_29294597的博客 318

画布Canvas与画笔Paint

画一个圆使用的是drawCircle:canvas.drawCircle(cx, cy, radius, paint);x、y代表坐标、radius是半径、paint是画笔,就是画图的颜色; 在画图的时候还要有注意,你所画的矩形是实心paint.setStyle(Paint.Style.FILL)还是空心paint.setStyle(Paint.Style.STROKE); 画图的时候还有一点,那就

onevol 1035

DIY音乐播放器:用VS1053模块+Arduino打造你的专属MP3播放器(附完整代码)

本文详细介绍了如何使用VS1053音频解码模块与Arduino开发板,从零开始构建一个功能完备的桌面级MP3播放器。内容涵盖硬件架构设计、SPI总线共享、底层驱动编写、双缓冲区数据流管理以及用户交互实现,并提供完整的代码示例与性能优化建议,帮助创客打造高度可定制的专属音乐播放设备。

weixin_29189003的博客 286

Redis中什么是Big Key(大key)问题?如何解决Big Key问题?

通俗易懂的讲,Big Key就是某个key对应的value很大,占用的redis空间很大,本质上是大value问题。key往往是程序可以自行设置的,value往往不受程序控制,因此可能导致value很大。redis中这些Big Key对应的value值很大,在序列化/反序列化过程中花费的时间很大,因此当我们操作Big Key时,通常比较耗时,这就可能导致redis发生阻塞,从而降低redis性能。用几个实际的例子对大Key的特征进行描述:● 一个String类型的Key,它的值为5MB(数据过大); ● 一

weixiaohuai的博客 3万+

Android 画布Canvas与画笔Paint (附带会动的钟表)

一、Canvas绘制图形的直接对象1、两种绘制环境:(1)、使用普通View的canvas画图,(2)、使用专门的SurfaceView的canvas来画图。canvas主要是区别:第一种适合处理量比较小,帧率比较小的动画,比如说象棋游戏之类的;第二种主要用在游戏,高品质动画方面的画图。因为SurfaceView中定义一个专门的线程来完成画图工作,应用程序不需要等待View的刷图,提高了性能。Vi...

0729Liang 1501

【实战指南】WinPE环境下360系统急救箱的病毒查杀全流程解析

本文详细解析了在WinPE环境下使用360系统急救箱进行病毒查杀的全流程。从制作WinPE启动盘到进入PE环境,再到360急救箱的深度使用和系统修复,提供了实用技巧和常见问题解决方案,帮助用户高效清除顽固病毒。

weixin_28568819的博客 535

Canvas(画布)、Paint(画笔) 详解

简介: 在Android中需要通过graphics类来显示2D图形。    graphics中包括了Canvas(画布)、Paint(画笔)、Color(颜色)、Bitmap(图像)等常用的类。 graphics具有绘制点、线、颜色、2D几何图形、图像处理等功能。 Canvas:简介 1.void drawCircle (float cx, float cy, float radi

BriskLyer的博客 3189

卫朋:IPD流程落地——产品计划阶段拆解

IPD计划阶段拆解

产品线负责人 956

C# MVVM的“核武器”:CommunityToolkit.Mvvm的RelayCommand实战全解

你默默打开VS:“该用RelayCommand的‘量子纠缠’魔法了!用户点击按钮无响应,调试器显示命令未绑定,但代码看起来完美无缺。“我的MVVM应用?那可是能穿越线程的命令量子计算机!异步操作阻塞了UI线程,用户界面变成“加载中”死循环。:UI与业务逻辑通过命令“量子隧道”解耦。:所有长时间操作自动进入“量子跃迁”模式。:携带任意上下文的“量子信封”传递。:命令可用性随数据变化实时同步。

java专栏 663

对于paint和Canvas的一些运用

在自定义 View的时候,我们经常需要绘制一些自己想要的效果。 这里就需要使用Canvas对象。 对Canvas进行操作 对Canvas的一系列操作,是指对Canvas进行旋转、平移、缩放等操作。 这些操作可以让Canvas对象使用起来更加便捷。 Canvas平移 * 画布向(100,50)方向平移 * * 参数1: 向X轴方向移动100距离 * 参数2: 向Y轴方向移动50距离 ...

lixiaoliang0723的博客 771

PD3.0详解 电源规则,全解!!!全解!!!

电源规则 大师匈今天谈一下PD3.0的电源规则,PD3.0标准标定的规则。 USB协议声称,为了世界和平世界环境,让大家用上统一标准的充电器,不用再为每一个用电设备都配一个专门的充电器,这些充电器各种各样的都有,所以有时候大师匈也很烦!!!那么为了维护世界和平,USB协议呢就制订了这个PD快充协议,还有它的规则,只要全世界都用PD,就解决了这个大问题。 在这里先了解一个关键字,PDP: Power Delivery Power PD电源的功率。 每个PD充电产品的功率要以0.5W的精度上报,比如大师匈做的P

大师匈的博客 1万+

Android中Paint、Canvas的基础方法用法

首先paint是画笔,可以根据paint中的方法设置画笔的颜色、大小等等属性,canvas是画布,用paint画笔可以在画布上画东西 代码准备: public class Main extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(sa...

林一天的博客 589

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

path paint canvas 之间的用法

drawable:是一个可以在canvas上进行绘制的抽象。drawable提供交互的机制主要的四种:1:setBounds方法必须在绘制之前被调用。2: getPadding方法可以从某些Drawables返回关于如何放置其内容的信息3:setState方法可以告知Drawable在哪个状态下绘制4:setLevel方法允许提供单个连续控制器来修改Drawable的显示,例如电池电量。5:D...

qq_33863614的博客 358

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

自定义View(二)、Canvas和Paint的用法、BitMap

自定义View首先我们接着上一篇博客,再写两个自定义View的应用,一个类似电池充电的方形进度条和一个弧形进度条。用自定义View展示一个方形进度条首先创建MyProgress继承Viewimport android.content.Context; import android.graphics.Canvas; import android.graphics.Color;

苦逼的程序猿☺ 2735

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Paint和canvas的用法

蜗牛式的前进也是前进

乐于分享,乐于讨论,欢迎大家积极讨论 3469

Paint,Canvas 基础用法 - drawBitmap(),drawText() 详解

原创 自定义控件(二)Paint,Canvas 基础用法 - drawBitmap(),drawText() 详解 ...

qq_39618369的博客 938

Android Canvas 和Paint的用法

首先,介绍的是Canvas的基本方法 方法签名 简要说明 drawArc(RectF oval, float startAngle, float sweepAngle, boolean useCenter, Paint paint) 绘制弧 drawBitmap(Bitmap bitmap, Rect src, Rect dst,Paint pai

u010947098的专栏 2899

android Canvas 和 Paint用法

转载自http://www.cnblogs.com/xiaoxiaing/p/5842762.html 自定义view里面的onDraw方法,在这里我们可以绘制各种图形,onDraw里面有两个API我们需要了解清楚他们的用法:Canvas 和 Paint. Canvas翻译成中文就是画布的意思,Canvas负责进行绘制各种各样的图形,它有如下的一些绘制图形方法: drawAr

CookieTo的博客 450

安卓中Paint与Canvas用法

Paint的基本设置函数: paint.setAntiAlias(true);//抗锯齿功能paint.setColor(Color.RED);  //设置画笔颜色    paint.setStyle(Style.FILL);//设置填充样式paint.setStrokeWidth(30);//设置画笔宽度paint.setShadowLayer(10, 15, 15, Color.GR

大城小小爱的博客 1072

017_04Canvas和Paint的用法

  Canvas类就是表示一块画布,你可以在上面画你想画的东西。当然,你还可以设置画布的属性,如画布的颜色/尺寸等。   Paint 画笔 和Canvas搭配使用,用于指定绘制的颜色, 线条的粗细, 过渡, 渐变等效果. 1 package com.example.day17_04simplepainter; 2 3 import java.io.Fil...

dengquan8369的博客 203

Android Canvas和Paint用法

一个简单的Demo,自定义一个View,继承自ImageView。 public class MyImageView extends ImageView { protected Context mContext; public MyImageView(Context context, AttributeSet attrs) { super(context,

CookieTo的博客 360

自定义控件(二)Paint,Canvas 基础用法 - drawBitmap(),drawText() 详解

本篇博客继续学习 Paint 和 Canvas 的基础用法,上一篇博客学习了基础API使用( 基础几何图形,Path 路径 ),接下来学习 绘制文本 和 绘制图片 上一篇文章,没看的有必要先了解一下: 自定义控件(一)Paint,Canvas 基础用法 - Path函数大全,Canvas绘制基本几何图形 canvas 绘制 图片Bitmap drawBitmap void drawB...

Ruffian-痞子 1万+

Android利用canvas画各种图形 及Paint用法

1、首先说一下canvas类: Class Overview The Canvas class holds the "draw" calls. To draw something, you need 4 basic components: A Bitmap to hold the pixels, a Canvas to host the draw calls (writing into

肿菜的博客 644

Android--Paint与Canvas用法

前言: 在日常开发当中,有时候控件并不能满足于我们的需求,那么这时候就必须自己绘制自定义控件,自定义控件具有很强的灵活性,可以根据你自己的想法绘制各种各种的图形,那么在Android当中,提供了graphics类来显示2D图形,而graphics类中包括了Canvas(画布)、Paint(画笔)等等,那么,今天我们一起来学习Paint与Canvas的基本介绍和使用,相信我们学完了之后,就可以在自

Amanduzhuojiang的博客 1092
上一篇: 读书笔记_自定义view
下一篇: 颜色渲染器Shader对象
AnElse
博客等级 码龄12年 1粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值