全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Android 使用Path实现涂鸦功能

今天实现一个涂鸦效果,会分几步实现,这里有一个重要的知识点就是图层,要理解这个,不然你看这篇博客,很迷茫,迷茫的苍茫的天涯是我的爱,先从简单的需求做起,绘制一条线,代码如下:

package com.tuya;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.Path;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.View;
/**
 * Created by admin on 2016/12/16.
 */
public class GraffitiView extends View{
  private Paint paint;
  private Path path;
  private float downX,downY;
  private float tempX,tempY;
  public GraffitiView(Context context) {
    this(context,null);
  }
  public GraffitiView(Context context, AttributeSet attrs) {
    this(context, attrs,0);
  }
  public GraffitiView(Context context, AttributeSet attrs, int defStyleAttr) {
    super(context, attrs, defStyleAttr);
    init();
  }
  private void init() {
    paint = new Paint();
    paint.setAntiAlias(true);
    paint.setStrokeWidth(10);
    paint.setStyle(Paint.Style.STROKE);
    path = new Path();
  }
  @Override
  protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);
    if(path!=null){
      canvas.drawPath(path,paint);
    }
  }
  @Override
  public boolean onTouchEvent(MotionEvent event) {
    switch (event.getAction()){
      case MotionEvent.ACTION_DOWN:
        downX = event.getX();
        downY = event.getY();
        path.moveTo(downX,downY);
        invalidate();
        tempX = downX;
        tempY = downY;
        break;
      case MotionEvent.ACTION_MOVE:
        float moveX = event.getX();
        float moveY = event.getY();
        path.quadTo(tempX,tempY,moveX,moveY);
        invalidate();
        tempX = moveX;
        tempY = moveY;
        break;
    }
    return true;
  }
}

效果:

如果你不使用path的quadTo()用lineTo()方法也行,但是没有使用queadTo()绘制出来的路径光滑,这5条路径是怎么绘制到屏幕上去的呢?上面说了图层的概念,如果不懂,可以去看下我之前写的关于canvas博客,也可以去网上看其他的博客,
我们知道每次canvas.draw...()其实都会产生新的图层,只是图层是透明的,最后隐射到画布(canvas)上,画布分析:

以上所述是小编给大家介绍的Android 使用Path实现涂鸦功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# android  # path  # 涂鸦效果  # Android实现签名涂鸦手写板  # android中实现在ImageView上随意画线涂鸦的方法  # android 实现在照片上绘制涂鸦的方法  # Android编程实现的手写板和涂鸦功能  # Android实现Path平滑的涂鸦效果实例  # Android 开发实例简单涂鸦板  # Android编程实现在Bitmap上涂鸦效果  # AndroidStudio实现能在图片上涂鸦程序  # 图层  # 小编  # 博客  # 在此  # 说了  # 是怎么  # 不懂  # 你看  # 去看  # 给大家  # 几步  # 这篇  # 我的爱  # 也行  # 所述  # 给我留言  # 感谢大家  # 有一个  # 一条线  # 如果你不 


相关文章: 家庭建站与云服务器建站,如何选择更优?  常州企业网站制作公司,全国继续教育网怎么登录?  网站企业制作流程,用什么语言做企业网站比较好?  如何在Windows虚拟主机上快速搭建网站?  如何通过免费商城建站系统源码自定义网站主题与功能?  赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?  小型网站制作HTML,*游戏网站怎么搭建?  如何选择美橙互联多站合一建站方案?  详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)  制作网站的软件下载免费,今日头条开宝箱老是需要下载怎么回事?  孙琪峥织梦建站教程如何优化数据库安全?  如何在橙子建站上传落地页?操作指南详解  香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南  如何在IIS中配置站点IP、端口及主机头?  长春网站建设制作公司,长春的网络公司怎么样主要是能做网站的?  制作表格网站有哪些,线上表格怎么弄?  建站之星在线版空间:自助建站+智能模板一键生成方案  洛阳网站制作公司有哪些,洛阳的招聘网站都有哪些?  如何用wdcp快速搭建高效网站?  北京制作网站的公司排名,北京三快科技有限公司是做什么?北京三快科技?  专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?  网站制作大概多少钱一个,做一个平台网站大概多少钱?  微网站制作教程,我微信里的网站怎么才能复制到浏览器里?  如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  交易网站制作流程,我想开通一个网站,注册一个交易网址,需要那些手续?  导航网站建站方案与优化指南:一站式高效搭建技巧解析  建站之星如何保障用户数据免受黑客入侵?  建站与域名管理如何高效结合?  如何快速生成专业多端适配建站电话?  南宁网站建设制作定制,南宁网站建设可以定制吗?  猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?  如何快速搭建FTP站点实现文件共享?  音乐网站服务器如何优化API响应速度?  深圳网站制作的公司有哪些,dido官方网站?  家具网站制作软件,家具厂怎么跑业务?  电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?  台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?  建站之星2.7模板快速切换与批量管理功能操作指南  高端企业智能建站程序:SEO优化与响应式模板定制开发  c# 在高并发场景下,委托和接口调用的性能对比  宝盒自助建站智能生成技巧:SEO优化与关键词设置指南  如何快速搭建自助建站会员专属系统?  如何在云指建站中生成FTP站点?  如何配置IIS站点权限与局域网访问?  5种Android数据存储方式汇总  如何通过.red域名打造高辨识度品牌网站?  网站制作外包价格怎么算,招聘网站上写的“外包”是什么意思?  企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?  建站之星3.0如何解决常见操作问题? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。