Android 画布画线,android实现一个简单的画布,可以用手指画线条。

满意答案

02ae427d08e371d7e90d5b995e828d6d.png

wpdhc

2016.07.05

02ae427d08e371d7e90d5b995e828d6d.png

采纳率:49%    等级:7

已帮助:359人

public class DrawView extends View {

Context mycontext;

int toasttime = 1000*60;

boolean enabletoast = true;

//之前的坐标

float preX;

float preY;

//路径

private Path path;

//画笔

public Paint paint = null;

//默认画布大小

public static int VIEW_WIDTH = 500;

public static int VIEW_HEIGHT = 600;

//

Bitmap cacheBitmap = null;

//

Canvas cacheCanvas = null;

public DrawView(Context context, AttributeSet set) {

super(context, set);

mycontext = context;

cacheBitmap = Bitmap.createBitmap(VIEW_WIDTH, VIEW_HEIGHT,

Config.ARGB_8888);

cacheCanvas = new Canvas();

path = new Path();

cacheCanvas.setBitmap(cacheBitmap);

paint = new Paint(Paint.DITHER_FLAG);

paint.setColor(Color.WHITE);

paint.setStyle(Paint.Style.STROKE);

paint.setStrokeWidth(1);

paint.setAntiAlias(true);

paint.setDither(true);

}

@Override

public boolean onTouchEvent(MotionEvent event) {

float x = event.getX();

float y = event.getY();

switch (event.getAction()) {

case MotionEvent.ACTION_DOWN:

path.moveTo(x, y);

preX = x;

preY = y;

break;

case MotionEvent.ACTION_MOVE:

path.quadTo(preX, preY, x, y);

preX = x;

preY = y;

break;

case MotionEvent.ACTION_UP:

cacheCanvas.drawPath(path, paint);

path.reset();

if(enabletoast == false){

}

break;

}

invalidate();

return true;

}

@Override

protected void onDraw(Canvas canvas) {

super.onDraw(canvas);

Paint bmpPaint = new Paint();

canvas.drawBitmap(cacheBitmap, 0, 0, bmpPaint);

canvas.drawPath(path, paint);

}

}

00分享举报

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/348895.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

camel 数据库_使用Camel在来自不同来源的Solr中索引数据

camel 数据库Apache Solr是建立在Lucene之上的“流行的,快速的开源企业搜索平台”。 为了进行搜索(并查找结果),通常需要从不同的源(例如内容管理系统,关系数据库,旧系统)中提取数据…

android手机连接windows,Windows PC连接Android adb shell的方法

今天突发奇想,想用跟笔记本连接的键鼠操作自己的安卓设备(具体操作先挖个坑之后再填)。首先遇到的问题就是,如何用Windows PC连接自己的安卓设备,因为笔者的笔记本的USB接口有限,又有多部安卓设备,还想同时对多部Andro…

对状态代码使用JAX-RS异常

从JAX-RS资源发送特定HTTP(错误)状态代码的一种方法是使用javax.ws.rs.core.Response类及其类似Builder Pattern的API。 如果要根据响应主体指定返回类型,则仍然可以这样做,并通过抛出WebApplicationException针对错误发送不同的状…

设置html文字居中自动换行,CSS怎么设置文字自动换行?

CSS怎么设置文字自动换行?下面本篇文章就给大家介绍css设置文字(特别是连续的数字和英文)自动换行的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。关于换行问题,正常字符的换行是比较合理的,…

html霓虹灯效果图,HTML5 SVG+CSS3霓虹灯文字边框动画特效

【实例简介】【实例截图】【核心代码】使用SVG CSS实现动态霓虹灯文字效果#svgBox{[/b] width:100%;margin:100px auto;}.text{font-size: 64px;font-weight: bold;text-transform: uppercase;fill: none;stroke-width: 2px;stroke-dasharray: 90 310;animation: stroke 6s inf…

动态生成的html元素无法调用js函数,如何确保动态生成的div在js函数被调用之前被加载到DOM中?...

$("#submitB").click(function() {$.post("/previewproposal", $("#proposal-form").serialize(), function(data){$.colorbox({html:data});}, "html");});呈现的HTML是这样的:$(document).ready(function(){function plo…

lambdas for_Java 8 Lambdas –缺少脱离Java的链接

lambdas for我学习了函数式编程,但是后来我决定我更喜欢命令式编程,于是我转回去。 —没人 从命令式编程过渡到函数式编程是当今非常普遍的事情。 互联网上的博客文章充斥着关于它的证词。 我读过的所有内容以及与我交谈过的每个人(包括我自…

吉林省2021高考成绩排名查询,2021年吉林高考成绩排名查询系统,吉林高考位次排名表...

最近好多家长和考生留言,希望知道:吉林高考位次是什么?吉林高考位次与名次的区别?如何根据位次选大学?2020年吉林高考位次就是指考生高考成绩在全省同类考生中的位置。高考位次主要分为三大类:省市位次、区…

Picocli 2.0:类固醇上的Groovy脚本

Picocli 2.0增加了对其他JVM语言(尤其是Groovy)的支持。 当Groovy语言具有CliBuilder类的内置CLI支持时,为什么要使用picocli? 您可能会喜欢picocli的使用帮助,默认情况下会显示ANSI 颜色和样式 。 您可能喜欢的另一个…

angular字符串转成html,详解angular如何调用HTML字符串的方法

详解angular如何调用HTML字符串的方法前面的文章我们介绍过angular6.0的数据绑定,也就是前面页面如何调用后台的数据,我们接触到了调用普通数据——如:调用产品详情{{post.content}}。在使用中,我们会发现,如果按原来的…

西南交大计算机几个专业,西南交通大学计算机科学与技术专业

西南交通大学计算机科学与技术专业计算机科学与技术专业解读计算机科学与技术专业我校早在60年代初就创办了计算机技术专业,是全国较早设立该专业的高等学校之一。1978年由中科院院士曹建猷教授等主持恢复开办计算机科学及应用专业,1981年在国内首批获得…

模拟耗时操作_在集成测试中模拟耗时的动作

模拟耗时操作最近在我的一个项目中,我遇到一种情况,需要为该应用程序创建集成测试。 这不是很奇怪,不是吗? 有趣的是,应用程序的逻辑涉及一些并发问题,并且其中一个组件必须连接到外部服务,这将…

日志消息是可执行代码和注释

尽管在一个人的代码中应添加多少注释之间存在意见分歧,但我认为可以肯定地说,大多数开发人员都同意以下代码段中的注释是多余的: // increment the total total;在该示例中,代码很简单,并且实际上是不言自明的&#x…

代做html网页多少钱,代做排名网站有吗,做排名帮你实现财富自由

影响关键词排名的因素有哪些:1、影响搜索排序的因素前一段,我们在百度搜索排序规则中,实际上已经讨论过这个话题,其中核心的因素主要包括如下内容:① 网站主体与主题的权威度。② 页面内容的专业性以及多样化。③ 网站…

html flash层级,解决FLASH遮住其他层元素问题

刚做了个幻灯片广告,产品人员需要在第一个位置放flash,然后其他的都是图片,但是幻灯片切换到第一张的时候,圆圈tab元素不见了,只有在谷歌浏览器下面正常,用firebug看是被flash盖住了,&#xff0…

电脑没有使用计算机进入睡眠状态,电脑打不开,屏上显示:无视频输入,进入睡眠模式。怎么处理...

1、电脑能正常打开电源,并进行coms自检,但就是不能启动操作系统。光标在黑屏上闪烁,有提示:“Press any key to restar computer.”1)我碰到的这种情况解之道是检查软驱中是否有软盘。为什么要这样做呢,因为很多人的机…

prng伪随机数生成器_Java伪随机数生成器(PRNG)中的弱点

prng伪随机数生成器这将是Kai Michaelis,JrgSchwenk和我撰写的论文的总结,该论文在RSA Conference 2013的密码学家会议上发表 。 你可以得到我的演讲的幻灯片在这里和我们的全文在这里 。 我们对PRNG(主要是SecureRandom)附带的常…

时钟在微型计算机中作用,微型计算机系统中的实时时钟

实时时钟(RTC)是一种IC,可以跟踪当前时间。微处理器通常可以通过串行接口读取此信息,以方便软件执行与时间有关的功能。RTC专为超低功耗而设计,因为它们通常在主系统断电时仍可继续运行。这样一来,他们就可以根据绝对时间基准(通常…

五个使Java变得更好的功能

我偶然发现了Brian Goetz 提出的有关Java数据类的建议 ,立即意识到我也对如何使Java更好地成为一种语言有一些想法。 我实际上有很多,但这只是五个最重要的列表。 专制(2006),迈克贾奇(Mike Judge&#xf…

nit计算机应用基础是考试大纲,NIT考试大纲--计算机应用基础.doc

NIT考试大纲--计算机应用基础.doc全国计算机应用技术证书考试大纲【 HYPERLINK "javascript:doPrint()" 打印】【字体: HYPERLINK "javascript:doZoom(16)" 大 HYPERLINK "javascript:doZoom(14)" 中 HYPERLINK "javascript:doZ…