`

android 绘图

阅读更多

做java的都知道,绘图肯定首先需要一个Canvas,然后在用Graphics在上面绘制自己想要图案。不错,Android 上面也类似,你可以从一个Bitmap得到它的Canvas,进行绘制,也可以自定义一个View,用它的Canvas。不同的时,Android 里没有Graphics,而用Paint代之,当然用法也稍有不同。以下是自定义View的一段代码:

Java代码 复制代码
  1. @Override   
  2. public   void  onDraw(Canvas canvas) {   
  3.      // 首先定义一个paint   
  4.     Paint paint =  new  Paint();   
  5.        
  6.      // 绘制矩形区域-实心矩形   
  7.      // 设置颜色   
  8.     paint.setColor(Color.WHITE);   
  9.      // 设置样式-填充   
  10.     paint.setStyle(Style.FILL);   
  11.      // 绘制一个矩形   
  12.     canvas.drawRect( new  Rect( 0 0 , getWidth(), getHeight()), paint);   
  13.        
  14.      // 绘空心矩形   
  15.      // 设置颜色   
  16.     paint.setColor(Color.RED);   
  17.      // 设置样式-空心矩形   
  18.     paint.setStyle(Style.STROKE);   
  19.      // 绘制一个矩形   
  20.     canvas.drawRect( new  Rect( 10 10 50 20 ), paint);   
  21.        
  22.      // 绘文字   
  23.      // 设置颜色   
  24.     paint.setColor(Color.GREEN);   
  25.      // 绘文字   
  26.     canvas.drawText(str,  30 30 , paint);   
  27.        
  28.      // 绘图   
  29.      // 从资源文件中生成位图   
  30.     Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.icon);   
  31.      // 绘图   
  32.     canvas.drawBitmap(bitmap,  10 10 , paint);   
  33. }  
[java] view plain copy
  1. @Override   
  2. public   void  onDraw(Canvas canvas) {  
  3.     // 首先定义一个paint   
  4.     Paint paint = new  Paint();  
  5.       
  6.     // 绘制矩形区域-实心矩形   
  7.     // 设置颜色   
  8.     paint.setColor(Color.WHITE);  
  9.     // 设置样式-填充   
  10.     paint.setStyle(Style.FILL);  
  11.     // 绘制一个矩形   
  12.     canvas.drawRect(new  Rect( 0 0 , getWidth(), getHeight()), paint);  
  13.       
  14.     // 绘空心矩形   
  15.     // 设置颜色   
  16.     paint.setColor(Color.RED);  
  17.     // 设置样式-空心矩形   
  18.     paint.setStyle(Style.STROKE);  
  19.     // 绘制一个矩形   
  20.     canvas.drawRect(new  Rect( 10 10 50 20 ), paint);  
  21.       
  22.     // 绘文字   
  23.     // 设置颜色   
  24.     paint.setColor(Color.GREEN);  
  25.     // 绘文字   
  26.     canvas.drawText(str, 30 30 , paint);  
  27.       
  28.     // 绘图   
  29.     // 从资源文件中生成位图   
  30.     Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.icon);  
  31.     // 绘图   
  32.     canvas.drawBitmap(bitmap, 10 10 , paint);  
  33. }  



以上需要注意的有三点:
1、Android 中的Rect和java中的可能稍有区别,前两个参数是左上角的坐标,后两个参数是右下角的坐标(不是宽度和高度);
2、Style.STROKE和Style.FILL外边的像素数是有区别的,这点和java里一样;
3、绘文字时,设置的坐标点为(30,30),但绘出来后你会发现,文字的左上角坐标要比你设置的偏上,不知道是android 设置的bug,还是我们有理解到坐标点的意义。

 

出处:http://blog.csdn.net/junpeng88/article/details/5540955

分享到:
评论

相关推荐

    android绘图

    "android绘图"这个主题,尤其是提到的"achartengine-1.0.0-demo-source"压缩包,是一个专门针对Android平台的图表绘制库,它为开发者提供了丰富的图表类型,包括柱状图、饼图、折线图等,方便地在应用程序中展示数据...

    android 绘图app.zip

    【Android绘图APP开发详解】 在Android平台上,创建一个类似QQ截图的应用,允许用户在图片上绘制图形、添加文字,并支持缩放、平移及撤销操作,是一项涉及到多个技术领域的任务。以下将从核心功能、架构设计、主要...

    Android绘图

    本文将深入探讨Android绘图机制,包括Canvas、Paint、Bitmap以及自定义View的相关知识点,旨在帮助开发者掌握如何在Android应用中进行高效且富有创意的绘图操作。 首先,Canvas是Android绘图的核心对象,它提供了在...

    android 绘图引擎 achartengine

    本文将深入探讨`ACHARTENGINE`在Android绘图引擎中的应用及其核心特性。 `ACHARTENGINE`是一个用Java编写的库,专为Android平台设计,支持多种类型的图表,包括折线图(LineChart)、饼图(PieChart)、柱状图(Bar...

    Android绘图基础

    "Android绘图基础"涵盖了Android系统中如何使用Canvas和Paint类进行基本的2D图形绘制。Canvas可以视为画布,而Paint则是画笔,它们共同帮助开发者在屏幕上绘制各种元素。 **Canvas:画布** Canvas是Android中的核心...

    Android绘图api+jar包

    在这种情况下,"Android绘图API+jar包"提供了一个强大而简便的解决方案。这个API名为AChartEngine,它是一个开源的库,能够帮助开发者轻松地在Android应用程序中创建各种图表。 AChartEngine的主要优点在于其简洁的...

    android绘图方法

    本篇将深入探讨Android绘图的方法,包括基本绘图、图形对象、画布操作以及动画制作。 一、基本绘图 Android中的绘图主要依赖于Canvas类,它是进行图形绘制的核心。当你需要在View或SurfaceView上绘制时,通常会在`...

    Android eclipse画板绘制不同颜色图形,有助于初学Android的童鞋了解Android绘图机制

    在Android开发中,Eclipse曾是主流的集成开发环境(IDE),它提供了丰富的工具来帮助开发者构建应用程序。...动手实践是理解Android绘图机制的最佳方式,通过不断尝试和调试,你将能更好地掌握这一关键技能。

    Android绘图机制与处理技巧(下)

    通过分析这个示例项目,开发者可以更好地理解Android绘图机制,并将其应用到自己的项目中。 综上所述,Android的绘图机制提供了丰富的功能,使开发者能够创造出独特且引人注目的用户体验。通过掌握色彩特效、图形...

    自己写的一个android绘图apk

    【标题】:“自己写的一个Android绘图apk” 这个标题表明我们关注的是一个专门为Android平台开发的绘图应用程序。Android是一个开源的操作系统,广泛应用于智能手机和平板电脑。开发者编写了一个apk(Android ...

    android绘图 自定义组件

    Android绘图与自定义组件的结合,能够让我们创造出独具特色的交互效果和视觉表现。以下将详细阐述这两个重要概念及其应用。 1. Android绘图基础 - Canvas与Paint:Canvas是绘制图形的基础,它提供了各种画图方法,...

    Android绘图机制与处理技巧(上)

    首先,Shape是Android绘图的基础元素,它允许开发者创建各种几何形状,如矩形、椭圆、线和路径。Shape可以通过XML定义,包含stroke(边框)和fill(填充)属性,可以设置颜色、宽度、透明度等。例如,一个简单的矩形...

    Android绘图技巧Demo

    《Android绘图技巧Demo》是针对Android平台上的图形绘制技术的一个示例项目,旨在帮助开发者理解和实践Android系统中的自定义视图(Custom View)和图形渲染能力。在Android开发中,自定义视图允许开发者超越标准UI...

    android 绘图 简单演示

    本篇文章将深入探讨“android绘图简单演示”,并以Canvas的实现为重点,结合提供的CanvasDemo示例,来解析Android图形绘制的基础知识。 首先,Canvas提供了丰富的绘图方法,如drawRect、drawCircle、drawLine、...

    Android绘图机制与处理技巧(一)——Android绘图技巧

    Android绘图的核心在于`Canvas`和`Paint`对象。`Canvas`可以看作是画布,它提供了各种绘制几何形状、文本和位图的方法。`Paint`则作为画笔,定义了颜色、样式和字体等绘制属性。`Layer`则是管理这些绘制操作的一种...

    Android绘图实现

    本文将深入探讨Android绘图实现的相关知识点,包括基础概念、核心类、API以及实践技巧。 一、基础概念 1. Canvas与Bitmap:Canvas是Android绘图的主要工作台,你可以在这个画布上绘制各种图形。而Bitmap则可以看作...

    android绘图.pdf

    这份"android绘图.pdf"文档详细介绍了Android平台上的图形绘制技术,包括核心的绘图类和资源管理。以下是对文档中提到的关键知识点的深入解析: 1. **View与Drawable** - **View**:在Android中,View是所有UI组件...

    Android绘图介绍-复杂图形描画

    Paint对象是Android绘图系统的核心组件之一,它包含了大量的设置选项,如颜色、画笔宽度、抗锯齿效果、文字样式等。通过调整Paint的属性,可以实现各种视觉效果。例如,`setColor()`用于设定颜色,`setStrokeWidth()...

Global site tag (gtag.js) - Google Analytics