一、win下提高笔迹精细度并有笔锋

个人觉着还不错的解决方法
1、是agg绘图
2、使用skia绘图(比GDI绘制精度好点,但是效果不明显)

二、一些其他尝试

1、因为会出现

尝试1:试着着色每个像素点,但是绘制效率太低
尝试2:减小梯度差,受gdi自身精度影响,效果不佳
尝试3:以每个阶梯起始处为基础,开始绘制一些连续圆,逐步缩小,
这个尝试效果也还行,就是圈的定位需找准,否则会在原本绘制的线上有长出来的圈

1.agg画法

效果展示

2.消除阶梯以及笔锋原理

1、消除阶梯,得益于亚像素级渲染,精度很高的绘制,使得我们可以采用第二个尝试达到预期目的,我尝试的结果是 0.4的宽度差值效果还行
2、笔锋实现
1)、在落笔处,我们大多数都是小压力值,对应着小的笔款,(若使用鼠标绘图的话,就是鼠标移动速度),所以起笔处一般不需要做特殊处理。(当然也可以采用提笔是的方法)。
2)、在提笔时,大多数人喜欢快速结尾,此时点迹坐标值、压力值会骤变,会产生阶梯,我们通过提高渲染精度达到了消除。而笔锋则是通过额外绘制一条贝塞曲线实现

并且我们让这条曲线的尽可能的靠近结尾点,然后让其 闭合

这时我们就有了笔锋效果,由示例可知,点不能取相互之间太远,否则就会出现如下效果

取点的代码如下(示例):

typedef struct lastPoint
{double x;double y;
}LASTPOINT;//mu的值来确定取得的点在曲线上的位置
LASTPOINT get_bezier4_point(LASTPOINT p1, LASTPOINT p2, LASTPOINT p3, LASTPOINT p4, double mu)
{double mum1, mum13, mu3;LASTPOINT p;mum1 = 1 - mu;mum13 = mum1 * mum1 * mum1;mu3 = mu * mu * mu;p.x = mum13*p1.x + 3 * mu*mum1*mum1*p2.x + 3 * mu*mu*mum1*p3.x + mu3*p4.x;p.y = mum13*p1.y + 3 * mu*mum1*mum1*p2.y + 3 * mu*mu*mum1*p3.y + mu3*p4.y;return(p);
}
LASTPOINT lp = get_bezier4_point(p1,,p2,p3,p4 0.95);

一点关于优化手写笔迹相关推荐

  1. 手写笔迹还原算法(InkCanvas)

    因产品需求,我们打造了自主的画笔组件InkCanvas,在我们的项目纸笔课堂.晓课堂中得到了很好的应用.同时我们也通过技术输出,在直播云项目中集成了组件的核心算法,升级了其涂鸦功能中的笔迹展示效果,在 ...

  2. 手写笔迹鉴别系统(1)

    本系统的主要功能是通过手写笔迹能够鉴别手写者的具体身份,主要是基于python和tensorflow来对系统和算法进行的实现,本文搭建了三个神经网络对手写笔迹有良好的鉴别效果. 本系统的步骤主要分为: ...

  3. python实现手写笔迹,手写识别,语音识别,语音生成

    文章目录 1,先说思路 2,实现截图 3,祭出源代码 1,先说思路 1,应该实现对于手写笔迹的记录,生成字迹截图 1.1怎么实现呢?在定点和移动中的鼠标所在处画一条线,鼠标按住移动的话,线也会跟着移动 ...

  4. 这个领域有意思,认识一下MSDS手写笔迹验证数据集

    关注公众号,发现CV技术之美 手写签名是一项非常"古老"又常见的身份验证方式,尤其在金融领域,但笔迹验证这一方向的研究论文却不多,很大可能的影响因素是相关公开数据集太少. 前几天, ...

  5. python模拟手写笔迹_原笔迹手写实现平滑和笔锋效果之:笔迹的平滑(一)

    之前研究过一种用于 模拟真实 手写笔迹签名 的算法,  要求能够保持原笔迹平滑,并有笔锋的效果. 在网上看了一些资料, 资料很多, 能够达到用于正式产品中的效果的一个都没有找到. 但是即使按照这篇文章 ...

  6. 手写原笔迹输入_原笔迹手写软件 - 随意写 V1.1

    双指模式只在双框和全屏模式下支持,如果用双指切换到其它模式就不能再用双指切换回来,如果切换到浏览模式可以用手机摇动切换回来,因为浏览模式的双指已被定义为放大缩小了,文字模式只要点一下非键盘位置就会切换 ...

  7. 在钉钉上怎么手写_胖·评测|亲测!磐度A5数字纸笔手写板能适配多少直播平台?...

    停课不停学,各大科技企业纷纷推出各类教学平台吗,一时之间可谓百家争鸣!但是对于一线教师而言,除了为可怕的直播拥堵与繁琐的直播操作而头痛之外,一个更可怕的事实出现了--解题答疑,没有趁手的好工具怎么搞定 ...

  8. GitHub 上的一个开源项目,可快速生成一款属于自己的手写字体!

    公众号关注 "GitHubDaily" 设为 "星标",每天带你逛 GitHub! 转自机器之心 大家好,我是小 G. 如果你想用程序来快速生成一款属于自己的手 ...

  9. 百度网盘AI大赛-通用场景手写文字擦除亚军方案

    ★★★ 本文源自AlStudio社区精品项目,[点击此处]查看更多精品内容 >>> 通用手写文字擦除A榜2,B榜第3方案 一.赛题背景 随着技术发展,OCR扫描在学习.办公等众多场景 ...

最新文章

  1. elasticsearch 分片恢复经历了哪些步骤?
  2. web安全漏洞之CSRF
  3. ACM模板--邻接矩阵 无向图
  4. 【LeetCode从零单排】No.7 Reverse Integer
  5. 使用内部(com.android.internal)和隐藏(@hide)API[第4部分,定制ADT]
  6. JS 停留几秒后返回上一页
  7. 单线程reactor
  8. 林斌宣布好消息!语音识别大佬、Kaldi之父加盟小米
  9. 缓冲文件系统和非缓冲文件系统
  10. python env虚拟环境
  11. 忍不住笑的笑话(last:20180419)
  12. wind 数据 python_从wind python接口获取数据并存储
  13. 树状知识汇总流程图模板分享
  14. 案例分享 | 可编程机器人Scratch二次开发案例
  15. nii格式转化为png格式或者img格式
  16. vue form表单数据提交
  17. word endnote插入仅出现大括号问题解决
  18. Spring cacheable
  19. 数据结构与算法课程设计
  20. Python下Spyder安装方法

热门文章

  1. mysql 添加/删除列(column)
  2. linkedlist链表结构原理
  3. 两种 HTTP 请求方法
  4. 天涯明月刀开发_腾讯天涯明月刀研发全程:六年四个阶段成就最美国风
  5. JFreeChart Hacking-补丁贴
  6. 2021-06-07 RK3328 Android 10 上调试es7243记录
  7. 计算机学算法的意义,浅析算法在计算机编程中的重要作用
  8. 数据库原理—— 存储过程
  9. Techwiz OLED:透明显示
  10. 基于C51的DMX512开发笔记