`
byandby
  • 浏览: 1697318 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

android Paint和Color类介绍 使用示例

阅读更多
    要绘图,首先得调整画笔,待画笔调整好之后,再将图像绘制到画布上,这样才可以显示在手机屏幕上。Android 中的画笔是 Paint类,Paint 中包含了很多方法对其属性进行设置,主要方法(没有全部列出,大家可以查看官方文档)如下:
  setAntiAlias: 设置画笔的锯齿效果。
   setColor: 设置画笔颜色
   setARGB:  设置画笔的a,r,p,g值。
   setAlpha:  设置Alpha值
   setTextSize: 设置字体尺寸。
   setStyle:  设置画笔风格,空心或者实心。
   setStrokeWidth: 设置空心的边框宽度。
   getColor:  得到画笔的颜色
   getAlpha:  得到画笔的Alpha值。

   下面是一个简单的示例 来说明这些方法的使用。先来看看运行效果吧。


GameView类
package xiaohang.zhimeng;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.util.Log;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.view.View;

public class GameView extends View implements Runnable {

	public final static String TAG = "Example_05_03_GameView";
	// 声明Paint对象
	private Paint mPaint = null;

	public GameView(Context context) {
		super(context);
		// 构建对象
		mPaint = new Paint();

		// 开启线程
		new Thread(this).start();
	}

	@Override
	protected void onDraw(Canvas canvas) {
		super.onDraw(canvas);

		// 设置Paint为无锯齿
		mPaint.setAntiAlias(true);

		// 设置Paint的颜色
		mPaint.setColor(Color.RED);
		mPaint.setColor(Color.BLUE);
		mPaint.setColor(Color.YELLOW);
		mPaint.setColor(Color.GREEN);
		// 同样是设置颜色
		mPaint.setColor(Color.rgb(255, 0, 0));

		// 提取颜色
		Color.red(0xcccccc);
		Color.green(0xcccccc);

		// 设置paint的颜色和Alpha值(a,r,g,b)
		mPaint.setAlpha(220);

		// 这里可以设置为另外一个paint对象
		// mPaint.set(new Paint());
		// 设置字体的尺寸
		mPaint.setTextSize(14);

		// 设置paint的风格为“空心”
		// 当然也可以设置为"实心"(Paint.Style.FILL)
		mPaint.setStyle(Paint.Style.STROKE);

		// 设置“空心”的外框的宽度
		mPaint.setStrokeWidth(5);

		// 得到Paint的一些属性 颜色、Alpha值、外框的宽度、字体尺寸
		Log.i("TAG", "paint Color------>" + mPaint.getColor());
		Log.i(TAG, "paint Alpha------->" + mPaint.getAlpha());
		Log.i("TAG", "paint StrokeWidth--------->" + mPaint.getStrokeWidth());
		Log.i("TAG", "paint TextSize----------->" + mPaint.getTextSize());

		// 绘制一空心个矩形
		canvas.drawRect((320 - 80), 20, (320 - 80) / 2 + 80, 20 + 40, mPaint);

		// 设置风格为实心
		mPaint.setStyle(Paint.Style.FILL);

		mPaint.setColor(Color.GREEN);

		// 绘制绿色实心矩形
		canvas.drawRect(0, 20, 40, 20 + 40, mPaint);
	}

	// 触笔事件
	public boolean onTouchEvent(MotionEvent event) {
		return true;
	}

	// 按键按下事件
	public boolean onKeyDown(int keyCode, KeyEvent event) {
		return true;
	}

	// 按键弹起事件
	public boolean onKeyUp(int keyCode, KeyEvent event) {
		return true;
	}

	public boolean onKeyMultiple(int KeyCode, int repeatCount, KeyEvent event) {
		return true;
	}

	@Override
	public void run() {
		while (!Thread.currentThread().isInterrupted()) {
			try {
				Thread.sleep(100);
			} catch (Exception e) {
				Thread.currentThread().interrupt();
			}
			// 更新界面
			postInvalidate();
		}
	}
}


Activity01类
package xiaohang.zhimeng;

import android.app.Activity;
import android.os.Bundle;

public class Activity01 extends Activity {
	/** Called when the activity is first created. */
	private GameView mGameView;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);

		setContentView(R.layout.main);

		mGameView = new GameView(this);

		setContentView(mGameView);
	}
}

源代码 见 附件


  
  • 大小: 22.3 KB
分享到:
评论
4 楼 zhujinyuan 2012-09-05  
刚好用到这方面的知识,谢谢了。
3 楼 woNiuwo 2011-10-03  
setStrokeWidth: 设置空心的边框宽度
改成设置线宽更好理解。
2 楼 woNiuwo 2011-10-03  
讲得很详细,我今天刚好在学这个类。
1 楼 jianghao3616 2011-03-02  
辛苦了

相关推荐

    android Paint和Color类介绍 使用示例

    在Android开发中,`Paint`和`Color`类是绘制图形和文字时不可或缺的重要工具。它们提供了丰富的功能,帮助开发者创建出丰富多彩的用户界面。本文将深入探讨这两个类的使用方法,以及它们在实际开发中的应用。 首先...

    Android中Paint类的定义与使用简介.pdf

    在Android图形绘制领域,Paint类扮演着至关重要的角色。它是Android SDK中的一个核心组件,用于定义和控制图形元素的外观,包括颜色、线条样式、透明度、填充效果以及更多其他视觉属性。本文将深入探讨Paint类的基本...

    android之Paint

    在Android开发中,`Paint`类是用于图形绘制的核心工具,它定义了颜色、样式、字体等绘制属性,使得我们可以在Canvas上绘制出丰富多彩的图形和文本。`Paint`类的强大之处在于其丰富的属性设置,可以实现诸如颜色过滤...

    Android中使用Canvas和Paint绘制一个安卓机器人示例代码

    本示例将详细介绍如何使用这两个类来在Android应用中绘制一个安卓机器人的图像。 首先,我们需要理解Canvas的基本概念。Canvas可以看作是一个画布,它提供了多种绘制方法,如drawRect(), drawCircle(), drawPath()...

    用paint画笔给TextView设置背景颜色和宽高

    首先,我们需要了解Paint类在Android中的作用。Paint是Android图形绘制的核心工具,它包含了各种绘制属性,如颜色、样式、抗锯齿等。在自定义视图(Custom View)时,我们可以利用Paint来控制线条颜色、填充颜色、...

    OnDraw--paint.setColorFilter

    学习和理解 `onDraw()` 和 `ColorFilter` 的使用,有助于开发者在Android应用中创建丰富的自定义视图和图形效果。这不仅能够提升用户体验,还能在界面设计上展现更多的创新和个性化。因此,深入研究这两个概念并熟练...

    Android 自定义Paint画笔 canvas绘图例子.rar

    Android 自定义Paint画笔 canvas绘图例子,本例子中所用到的方法继承自android.view.View,是一个自定义View的范例,同时可学习画笔的定义:  Paint paint;//画笔  public MyView(Context context) {//构造器   ...

    Android-实现在Kotlin中更方便使用canvas

    在Android开发中,Canvas是用于在屏幕上绘制2D图形的核心组件。Kotlin作为一种现代、简洁的编程语言,已经成为Android开发...在项目"Kanvas-master"中,你可能找到更多关于如何在Kotlin中优化Canvas使用的示例和实践。

    Paint的使用,Shader渲染器的使用

    在"1.2.1_PaintTest"这个文件中,可能包含了一些示例代码或者教程,用于演示如何使用Paint和Shader进行图形绘制。通过学习和实践这些代码,开发者可以更深入地理解这两个类的用法,并掌握Android图形编程的精髓。

    Android画图学习总结(五)——Paint_玉树临疯_ 京华志

    以下是一个简单的示例,演示如何使用Paint类绘制带阴影的文本: ```java Paint paint = new Paint(); paint.setColor(Color.BLUE); paint.setTextSize(50f); paint.setShadowLayer(10f, 5f, 5f, Color.GRAY); ...

    Android应用源码之(Paint画笔).zip

    在Android开发中,`Paint`类是用于定义和控制绘图颜色、样式、字体等属性的核心工具。这个"Android应用源码之(Paint画笔).zip"文件很可能包含了一个或多个示例项目,演示了如何使用`Paint`进行图形绘制。在Android...

    Android开发之图形图像与动画(一)Paint和Canvas类学习

    在Android开发中,图形图像和动画的创建是通过使用特定的类来实现的,其中Paint和Canvas类是两个非常关键的角色。这两个类提供了丰富的功能,使得开发者能够绘制出复杂且富有表现力的图形。 **Paint类**是Android...

    关于Paint,Canvas,Path的Demo

    这个Demo主要涉及了三个核心组件:Paint、Canvas和Path,它们是Android系统中进行2D图形绘制的基础。现在,让我们深入探讨这些知识点。 首先,`Paint`类是Android中的画笔对象,它定义了绘制时的颜色、样式、字体等...

    android 绘制六边形

    paint.setColor(Color.BLUE); // 设置颜色 paint.setStyle(Paint.Style.STROKE); // 设置为描边模式 paint.setStrokeWidth(5); // 设置线条宽度 ``` 2. **计算六边形的尺寸**:由于我们要根据屏幕分辨率来绘制...

    绘图基础Canvas+Paint

    CanvasDEMO2这个文件名可能包含了一个示例代码,它可能演示了如何结合Canvas和Paint进行更复杂的图形绘制,如使用Path对象绘制不规则图形,或者利用Shader创建渐变效果等。 学习Canvas和Paint不仅可以创建美观的...

    Paint 基础 demo

    总之,`Paint`类是Android图形绘制的关键,熟练掌握它的使用能帮助我们创建出丰富多彩的用户界面和动态效果。通过不断地实践和探索,开发者可以进一步挖掘其潜在的功能,提升应用的视觉表现力。

    android.graphics包中的一些类的使用

    这篇博客将深入探讨这个包中的一些关键类,并通过一个名为`demo_game`的示例项目来展示它们的实际应用。 首先,我们来看看`Paint`类。`Paint`在Android图形绘制中扮演着画笔的角色,它可以设置颜色、风格、字体样式...

    Android应用源码之(Paint画笔)-IT计算机-毕业设计.zip

    本项目是一个基于Android的源码示例,专注于讲解如何使用Paint进行图形绘制。以下是关于Paint画笔在Android开发中的详细知识点: 1. **Paint对象创建与初始化**:在Android中,首先需要创建一个Paint对象,并通过...

    android 一些工具类汇总

    以下是一些常用的Android工具类及其使用示例: 1. **Paint与Canvas**: - `Paint` 类是用于定义图形绘制的属性,如颜色、抗锯齿、线条宽度等。在示例中,`paint1.setAntiAlias(true)` 开启了抗锯齿功能,`paint1....

Global site tag (gtag.js) - Google Analytics