今天实现一个涂鸦效果,会分几步实现,这里有一个重要的知识点就是图层,要理解这个,不然你看这篇博客,很迷茫,迷茫的苍茫的天涯是我的爱,先从简单的需求做起,绘制一条线,代码如下:
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实现能在图片上涂鸦程序
# 图层
# 小编
# 博客
# 在此
# 说了
# 是怎么
# 不懂
# 你看
# 去看
# 给大家
# 几步
# 这篇
# 我的爱
# 也行
# 所述
# 给我留言
# 感谢大家
# 有一个
# 一条线
# 如果你不
相关文章:
高端建站如何打造兼具美学与转化的品牌官网?
Android自定义控件实现温度旋转按钮效果
手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?
Python路径拼接规范_跨平台处理说明【指导】
公司门户网站制作流程,华为官网怎么做?
Swift开发中switch语句值绑定模式
如何通过建站之星自助学习解决操作问题?
建设网站制作价格,怎样建立自己的公司网站?
如何用狗爹虚拟主机快速搭建网站?
网站建设制作需要多少钱费用,自己做一个网站要多少钱,模板一般多少钱?
学校免费自助建站系统:智能生成+拖拽设计+多端适配
建站之星云端配置指南:模板选择与SEO优化一键生成
如何在企业微信快速生成手机电脑官网?
rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted
如何快速查询域名建站关键信息?
成都网站制作公司哪家好,四川省职工服务网是做什么用?
C++如何编写函数模板?(泛型编程入门)
网站制作软件免费下载安装,有哪些免费下载的软件网站?
C++中引用和指针有什么区别?(代码说明)
建站之星价格显示格式升级,你的预算足够吗?
如何基于云服务器快速搭建网站及云盘系统?
义乌企业网站制作公司,请问义乌比较好的批发小商品的网站是什么?
小米网站链接制作教程,请问miui新增网页链接调用服务有什么用啊?
制作假网页,招聘网的薪资待遇,会有靠谱的吗?一面试又各种折扣?
定制建站流程步骤详解:一站式方案设计与开发指南
定制建站平台哪家好?企业官网搭建与快速建站方案推荐
成都品牌网站制作公司,成都营业执照年报网上怎么办理?
如何快速打造个性化非模板自助建站?
香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧
定制建站流程解析:需求评估与SEO优化功能开发指南
实现虚拟支付需哪些建站技术支撑?
广东企业建站网站优化与SEO营销核心策略指南
青浦网站制作公司有哪些,苹果官网发货地是哪里?
移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?
武汉网站如何制作,黄黄高铁武穴北站途经哪些村庄?
婚礼视频制作网站,学习*后期制作的网站有哪些?
如何在Golang中处理模块冲突_解决依赖版本不兼容问题
洛阳网站制作公司有哪些,洛阳的招聘网站都有哪些?
完全自定义免费建站平台:主题模板在线生成一站式服务
建站之星3.0如何解决常见操作问题?
小捣蛋自助建站系统:数据分析与安全设置双核驱动网站优化
官网建站费用明细查询_企业建站套餐价格及收费标准指南
深入理解Android中的xmlns:tools属性
如何在西部数码注册域名并快速搭建网站?
建站之星五站合一营销型网站搭建攻略,流量入口全覆盖优化指南
小说建站VPS选用指南:性能对比、配置优化与建站方案解析
如何通过智能用户系统一键生成高效建站方案?
建站之星伪静态规则如何正确配置?
网站制作话术技巧,网站推广做的好怎么话术?
如何制作算命网站,怎么注册算命网站?
*请认真填写需求信息,我们会在24小时内与您取得联系。