inkcanvas - 手写功能就像 fiinote 手写一样
问题描述
我正在尝试开发 Windows 应用程序,在该应用程序中,用户将在画布上写一些东西,无论用户写什么,它都会以相同的书写风格在记事本中显示,只是字体大小会有所不同,它会超过记事本。就像Fiinote android 应用手写一个。
请帮助我我需要什么。请提出建议。
我是开发新手,所以没有太多经验。
谢谢
解决方案
把 Canvas 想象成一张纸。当你在纸上画一些东西时,你正在绘制角色的路径。同样在画布上也有一条路径。您可以让用户绘制他们的东西并记录他们的路径。在纸上,您使用不同颜色的笔进行绘制,在画布上,该功能由 Paint 对象提供。
因此,您需要学习以下自定义视图:如何创建用户将在其中绘制他们的东西的视图。
TouchHandling :您可以将视图设置为接收触摸事件。将设备屏幕视为 2D 图形。每当用户在屏幕上移动手指时,您的视图将获得带有当前点 x,y 坐标的触摸事件。您可以使用 Path 将点连接在一起以在画布上显示用户的绘图。Paint :为绘制的东西提供样式。
最后,要保存用户生成的注释,您需要将路径和相关的样式信息保存在数据库中。为此,首选方法是将用户内容保存(绘制)到位图并将该位图保存在数据库中。
推荐阅读
- excel - 使用宏更改多个 excel 文件的列的数据类型
- cobol - 如何将最后一位数字移动到cobol中数字的第一位
- javascript - 将 SurveyJS 数据推送到 MongoDB
- android - Kivy & Buildozer: How to play audio while Android Application is loading?
- php - 如何使用 PHP 从 URL 下载多个图像并将它们保存在我的文件夹中?
- identityserver4 - 检查 identityserver4 上的 Id_token 或 access_token
- python - 关于yolov2中损失函数的问题?
- php - 调用未定义的方法 Spatie\Geocoder\Facades\Geocoder::setApiKey()
- python - 将条件定义为类
- xamarin.forms - 访问 D365 CRM API