手写控件相关文章:http://kevinems.com/tag/%E6%89%8B%E5%86%99
本人在好记星平板电脑 N818S 上开发的原笔迹手写控件,压感,笔锋都实现了,笔迹保存,还原,删除,放大,缩小,旋转,移动功能也实现了,控件的API简单易用,可以说是一个比较完善的控件了,并集成到 Framework,小有成就感啊。
当初需求统计,分析是就认定是一个相对复杂的控件,所以前期做了不少工作,后期编码实现的时候相对还算比较顺利。
这是第一次真正意义上遵循了标准的软件开发流程,开发效率果然提高不少。科学的开发方法,事半功倍。
流程大概:
- 需求统计
- 需求分析
- 概要设计
- 详细设计
- 编码
- 测试
- 软件交付
- 软件维护
平台:好记星 N818S,Android 4.2,汉王电磁屏,电磁笔
笔触效果:钢笔,铅笔,马克笔,毛笔
效果图:
一个终端培训师的作品~~~
本人涂鸦作品:
钢笔效果视频演示:
铅笔效果视频演示:
在纸质笔记本上书写的时候,会随着书写速度的快慢,钢笔笔迹会相应变细或者变粗,这样的笔迹更加动感,优美。
通过算法实现普通电容屏上的压感笔锋效果:
我想请教一个问题,我现在在做一个app,里面有手写功能的那种,问题是这个适配如何做?意思就是如果区分哪个厂商的平板用哪个这种原笔迹的控件?
一般只要区别你接收到的点是否有压力值。如果你设置笔触大小为10,没有压力值的话,那笔触大小就是10*1。
而有压力值的话,笔触大小就是 10*压力值。
压力值的大小是0~1的浮点数。
所以不用适配,直接在程序里面用压力值*笔触大小。
请教您个问题,在笔触平滑处理上,您这边是怎么处理的?
笔触粗细平滑上怎么处理的,,sorry, 说的不是很清楚
我尽量说明白。
1.一条曲线,实际上是通过多条直线连成的。
2.笔触粗细平滑,取决于这些直线有多少条。而这些直线的粗线反映你的笔触的压力的大小。
3.想象一下,当直线近似为“点”的时候,笔触自然就会更平滑了。
“2.笔触粗细平滑,取决于这些直线有多少条。” ->您这边采用多次重绘么?
“3.想象一下,当直线近似为“点”的时候,笔触自然就会更平滑了”->直线近似为点的时候那岂不是驱动层面反馈回来的点需要很多?您那边每秒多少个点?我这边驱动层每秒差不多130左右个点。
2.我的方法是画出“透明的贝赛尔曲线”,然后沿着这个贝赛尔曲线,切分为多个区域,每个区域画一个实心圆。实心圆的直径与预先记录好的笔触的压力成正比。
3.如果你能理解第2点,第3这个就不是问题了。了解一下贝赛尔曲线,组成这个曲线只需要几个关键点。
可以参考这篇文章:Android Path 类运用实践
实例2
你好,可以直接这里留言,我比较少用QQ的。
抱歉
你好, 看到你开发的手写原笔迹不错, 请问可以单独和你定制一套吗? 可以的话 QQ: 109479206
是否能沟通下,QQ75216816
你好,能不能加下你qq呢,学习一下压感绘图,有几个问题想问问,怎么设置底下的四线方格呢,如果画图的时候手屏幕是怎么处理的呢??如何把手的触摸屏蔽掉呢??能不能发表一篇如何做压感绘图的一些技术点吧
Hello。关于你的问题:
1. “四线方格”是指汉字草稿格子吧?那是是一张图片,作为背景图而已。
2. 手写时,手的屏蔽。可以在系统层直接屏蔽,即有笔的事件时,直接屏蔽手的事件的上报;也可以在 View 控件屏蔽。Android 的 MotionEvent 可以判断触摸事件的类型,直接屏蔽手的操作即可。
你好,希望你出一个api 或者简单的写一个demo ,那个手和比同时放到屏幕上时,如果笔和手都动,我想只监听比的滑动,view 层可以判断吗??
抱歉,最近比较忙。
View 控件区分笔和手判断,可以参考
android.view.MotionEvent public final int getToolType(int pointerIndex)
在 onTouchEvent(MotionEvent event) 方法中调用这个 api ,返回值可以判断出触摸事件类型,例如 TOOL_TYPE_STYLUS, TOOL_TYPE_FINGER。
当为 TOOL_TYPE_STYLUS 时,你处理画图即可。
真心加下你qq或者 用其他方式联系一下,或者关注一下你微博,交流一下可以吗
很少用QQ,微博。你可以发邮件给我。
多利用搜索引擎,能解答你很多问题。
kevinems
(at)
gmail.com
本公司有个项目正好要用到这个功能,我们项目也是用你们集团的E人E本,他们提供了这个功能的SDK,但我们还需要其它功能和这个原笔迹保存的文件需要能在windows里也能显示,因此我们必须要有这个控件的源代码来修改,你看能否合作.
你好。
请问在哪里下载demo
你好。
请问光滑的笔迹,画的是若干条小线段,还是完全都是点。
我目前画的算法是用点,有些算法是用线段的。
实时画出来的笔迹,笔抬起的时候(结束时)是否还需要重新进行光滑处理然后再重绘出来?
需要
是否考虑抖动问题
抖动需要处理,android 有相关api
你好 如何做到 “从左上往右下画的方向”↘(取paint的最小宽度) 和 “从右上往左下画的方向”↙(取paint的最大宽度) 方向 的 path 宽度分别是 min 和 max 值,这样写的好处就是写字非常好看,请问有思路吗
你好,你说的效果,理想的情况下的确是比较好的,我以前也考虑过。但是平板上我目前还做不到这种效果。
请问当时你是怎么考虑的呢
主要还是自己没有想到很好的实现方法吧。
你好,电磁笔的压感值是2048.android端的压感值都是0~1的浮点值吗?
0~2048(电磁笔) 对应 0~1(android)
是的.
android 中
frameworks\base\data\keyboards\.idc 文件中
touch.pressure.scale = 0.005 会改变压力值。不是0~1,而是1~10.25.这个楼主有了解吗?
这个倒是没有注意,我接触的平板都是0-1的.
请问楼主有github代码吗?想参考下
不好意思. 需要商业合作的话, 可以进一步交流.
如果是个人兴趣开发, 目前遇到什么问题, 看我能否解答.
您好,目测应该是用二阶贝塞尔曲线实现的,想问下二阶贝塞尔曲线的三个点应该怎样取?我自己的思路是记录滑动位置的所有坐标,然后隔三个点就用贝塞尔曲线去描绘一遍,但是效果很不理想
是的。用的是二阶贝塞尔曲线。
有没有源码呀,看着效果太好了。或者算法逻辑介绍也可以啊
以后有空会多出一些教程。
你好,请教一个问题,铅笔的点是怎样绘制出来的?用的图片还是API?
用的是图片的算法。
有没有源代码。发一下我的邮箱
您好,问一下铅笔的效果是怎么弄出来的,就是颜色不是纯黑,有黑白镶嵌的效果,可以说一下思路吗
通过将笔迹转化成一个一个连续的点,然后在点上画图片纹理,最终连成铅笔效果的线条。
您好,目前正在学习,想请教一下您一些相关知识,如何理解笔锋方向与笔锋长度的关系,绘制的相邻点之间,根据偏向求解控制点时的角度应该怎么选取,麻烦您了
你好,该项目还在运作吗?
有项目需求看有没有合作机会
可以邮箱直接沟通,谢谢
你好。
您好,请问压感的实现方便商业合作吗,或者购买源码?
如果联系您,方便给个微信或者QQ联系方式吗
你好。已经邮件联系。
您好,我们有个软件有个小功能想实现手写签字,你开发的签字进行商业销售吗?方便的话留个联系方式
已邮件联系。
您好 ,能加个联系方式 想跟你沟通一下 看能不能买源码
你好能留个联系方式吗,想跟你沟通一下 看能不能买源码
你好能留个联系方式吗,想跟你沟通一下 看能不能买源码
请问 绘图过程中支持横竖屏切换吗?如果支持,在屏幕旋转时,实现思路是什么样的?如何做到图像不变形的?谢谢!
最近需要,可合作,效果好价格不是问题,最好能有个demo,Android的,麻烦可以回复我下,如果可以顺带demo发我邮箱下,谢谢
邮件已发送。
你好,我们最近在开发一个Android端手写类应用,需要有铅笔、毛笔、钢笔等多种笔迹,看到您的SDK觉得比较合适,希望可以跟您合作,请问是否可以发送一个展示demo,以及您SDK的使用文档,我们这边给开发评估一下,如果可行,后续进行商务对接,非常感谢!
您好,博主。最近我们公司开发软件需要实现铅笔书写特效。看了您的,感觉很好。是否可以合作?效果好价格不是问题,最好能有个demo,Android的,麻烦可以回复我下,如果可以顺带demo发我邮箱下,谢谢。或提供其他联系方式详谈。
盼复,谢谢!
您好,很想购买您开发的原笔迹手写产品,请问能否先发送一个demo到我的邮箱适用下?
对这个控件感兴趣,能否发送如何购买信息?是源代码吗?
你好,已经邮件联系。
你好,博主,请问有demo?我看看demo效果,如果可以后续可以合作
对这个控件感兴趣,能否进一步交谈?
你好,商业合作是给到源码吗, 需要实现一个毛笔,铅笔,钢笔,圆珠笔,带有笔锋的效果,并保存起来
您好,能联系上您吗,最近在做一个画板APP,有铅笔、马克笔、水彩笔、毛笔之类的笔触效果,个人也有一些方案,但是想做到更好,需要同行交流,可以参考下您的demo方案吗?很感兴趣,有机会可以合作,看到请与我联系哦,感谢!
您好,很想购买您开发的原笔迹手写产品,请问能否先发送一个demo到我的邮箱适用下不?可以商业合作不?
您好,马克笔是咋实现呢?能提供一下思路吗?
您好 想和您合作,麻烦邮件联系一下