`
f839903061
  • 浏览: 12175 次
  • 性别: Icon_minigender_1
  • 来自: 河南
最近访客 更多访客>>
社区版块
存档分类
最新评论

android 屏幕上面画线

阅读更多

作业如下:在android屏幕上面任意画线                            2011-12-1 ,从网上看到了,参考了,修改了,成功了,给大家分享下

package feng.f121.drawline;//本人创建的包名,每人有每人的不同的包

import java.security.PublicKey;

import android.R.integer;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Paint.Style;
import android.graphics.Path;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.View;
import android.widget.Button;

 

//新建一个类继承View

public class Drawl extends View{

 private int mov_x;//声明起点坐标
 private int mov_y;
 private Paint paint;//声明画笔
 private Canvas canvas;//画布
 private Bitmap bitmap;//位图
 private int blcolor;
 public Drawl(Context context) {
  super(context);
  paint=new Paint(Paint.DITHER_FLAG);//创建一个画笔
  bitmap = Bitmap.createBitmap(480, 854, Bitmap.Config.ARGB_8888); //设置位图的宽高
  canvas=new Canvas();
  canvas.setBitmap(bitmap);
  
  paint.setStyle(Style.STROKE);//设置非填充
  paint.setStrokeWidth(5);//笔宽5像素
  paint.setColor(Color.RED);//设置为红笔
  paint.setAntiAlias(true);//锯齿不显示
   
 }

//画位图
 @Override
 protected void onDraw(Canvas canvas) {
//  super.onDraw(canvas);
  canvas.drawBitmap(bitmap,0,0,null);
 }
 //触摸事件
 @Override
 public boolean onTouchEvent(MotionEvent event) {
  if (event.getAction()==MotionEvent.ACTION_MOVE) {//如果拖动
   canvas.drawLine(mov_x, mov_y, event.getX(), event.getY(), paint);//画线
   invalidate();
  }
  if (event.getAction()==MotionEvent.ACTION_DOWN) {//如果点击
   mov_x=(int) event.getX();
   mov_y=(int) event.getY();
   canvas.drawPoint(mov_x, mov_y, paint);//画点
   invalidate();

  }
  mov_x=(int) event.getX();
  mov_y=(int) event.getY();
  return true;
 }
 
 
}

 

在Activity中

public class DrawLine extends Activity {
 private Drawl bDrawl;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        bDrawl=new Drawl(this);
       setContentView(bDrawl);//将view视图放到Activity中显示
    }

分享到:
评论

相关推荐

    Android画曲线

    `getBitmap()`方法返回`View`的背景位图,这样我们就可以在位图上画线了。 3. **绘制曲线**: 使用`Canvas`提供的`drawPath()`方法来绘制曲线。`Path`对象是用来存储路径数据的,可以包含直线、曲线等各种形状。你...

    简单的Android画笔Demo

    在Android开发中,"简单的Android画笔Demo"通常是指一个用于教学或实验目的的应用程序,它允许用户在屏幕上自由绘制并提供一些基本的功能,如撤销、改变画笔颜色和宽度。这个Demo是学习Android图形绘制和交互式UI...

    Android应用源码之(Canvas画布)(.zip

    通过SurfaceHolder,我们可以获取到Canvas对象,然后在上面进行绘制。 3. **绘制操作**: Canvas提供了如`drawRect()`, `drawCircle()`, `drawLine()`, `drawText()`等方法,用于绘制矩形、圆形、线条和文本。此外,...

    安卓手绘图片处理画板相关-Android橡皮擦和画笔.rar

    在Android平台上,手绘图片处理画板是一种常见的应用,它允许用户通过触控屏幕来绘制图形、文字或者编辑已有的图像。"安卓手绘图片处理画板相关-Android橡皮擦和画笔.rar"这个压缩包文件包含了实现这一功能的核心...

    Android-AndroidDraw一个Android绘画View视图

    通过以上这些技术,我们可以构建一个功能强大的Android绘画应用,用户可以在上面自由创作,保存并分享他们的作品。实际开发中,还需要考虑用户体验、颜色选择、撤销/重做功能、保存和分享图片等功能的实现。总的来说...

    Android draw自动绘画功能.zip

    在Android开发中,"Android draw自动绘画功能"指的是在Android应用中实现用户可以自由绘制图形的功能。这通常涉及到Canvas、Path、Paint等核心绘图类的使用,以及触摸事件的处理。下面将详细讲解这些关键知识点。 1...

    Android端画板,安卓画板

    你可以把它想象成一块空白的画布,你可以在这上面绘制各种形状、线条、文本以及位图。Canvas提供了多种方法来绘制,比如drawRect()用于绘制矩形,drawCircle()用于绘制圆形,drawLine()用于绘制线段,drawText()用于...

    android 画图 源码

    它可以理解为一个画布,开发者可以在上面进行各种绘图操作,比如画线、画圆、填充颜色等。Canvas提供了多种绘图方法,如drawLine()用于画线,drawCircle()用于画圆,drawRect()用于画矩形,以及drawBitmap()用于显示...

    Android画板

    1. **Android Canvas**: Android Canvas是Android图形系统的核心组件,它允许开发者在屏幕上绘制各种形状、线条、路径和图像。在画板应用中,Canvas用于接收绘图命令并将其呈现在屏幕上。 2. **Paint对象**: Paint...

    android 手写、涂鸦demo

    你可以把它想象成一个画布,你在上面进行绘画操作。Canvas提供了各种方法,如drawRect(), drawCircle(), drawLine()等,用于在屏幕上绘制基本形状。 2. **Path对象**:Path是用来创建和绘制复杂形状的类。你可以...

    Android——Canvas切割出扇形表盘式进度

    在Android开发中,Canvas是用于在屏幕上绘制图形的重要工具,它可以让我们实现丰富的视觉效果。本篇文章将探讨如何利用Canvas来创建一个扇形表盘式的进度条。这个过程涉及到PathEffect、Matrix以及shader等核心概念...

    android绘制各种图表

    Canvas是画布,我们可以在上面绘制各种图形;Paint是画笔,定义了颜色、线条样式等绘制属性;Path则用于构建复杂的图形路径。 对于柱状图的绘制,我们可以使用View或者自定义ViewGroup来实现。首先,我们需要在...

    Android自定义view实现车载可调整轨迹线

    Android自定义view实现车载可调整轨迹线 本文主要讲解了Android自定义view实现车载可调整轨迹线的知识点,总共分为以下几个部分: 一、自定义view实现车载可调整轨迹线的概述 在Android开发中,自定义view是实现...

    婴儿绘画app

    此外,为了提供更丰富的绘画体验,还可以添加橡皮擦模式,将`Paint`的`color`设为透明,`xfermode`设为` PorterDuff.Mode.CLEAR`,这样用户就可以擦除已有的画线。 为了提供未上色的图画供孩子涂色,你需要在应用中...

    3.在Android上显示摄像头,并在摄像头画面上画图

    使用`canvas.drawLine()`或`canvas.drawPath()`等方法可以实现画线和曲线。 4. **触摸事件处理**:在`onTouchEvent()`方法中,我们需要根据MotionEvent的动作类型(ACTION_DOWN, ACTION_MOVE, ACTION_UP等)来判断...

    Android Canvas画布使用Demo源码.rar

    - Canvas是Android中的一个类,它提供了一个画布,开发者可以在上面执行各种绘图操作,如绘制线条、矩形、圆形、路径、文本等。 - Bitmap是Canvas的常见载体,我们通常在Bitmap上进行绘图,然后将其显示在View上。...

    Android动画与特效[借鉴].pdf

    一个XML动画文件可以包含多个动画效果,如上面的`<set>`标签示例,其中每个子标签代表一个特定的动画类型(如`<scale>`, `<rotate>`, `<translate>`等),并设置相应的属性。 总之,Android二维动画提供了一套强大...

    Android -自定义view-Paint和Canvas.rar

    - `drawLine(float startx, float starty, float stopx, float stopy, Paint)`:画线。 - `drawBitmap(Bitmap, float left, float top, Paint)`:在画布上绘制位图。 - `drawText(String text, float x, float y,...

    Android-SignatureView一个在Android上的电子签名板能保存所签名的图片

    2. **实时绘制**:用户在触摸屏幕时,SignatureView会记录下每一个触摸点,然后根据这些点连接成线,形成连续的签名轨迹。 3. **清除功能**:为了方便用户修改或重签,SignatureView通常会提供一个“清除”按钮,...

    Android手写签名 附带背景保存

    在`SurfaceView`的`onTouchEvent`方法中监听用户的触摸事件,当用户触摸屏幕时记录下坐标点,然后在`Canvas`上绘制线条。 ```java public class SignatureView extends SurfaceView implements SurfaceHolder....

Global site tag (gtag.js) - Google Analytics