Flutter 绘制三角网格 Triangular Mesh
本文实现 Generative Artistry 教程的第 4 篇图形 Triangular mesh 效果如下前言本文实现 Generative Artistry 教程的第 4 篇图形 Triangular mesh 效果如下。没按顺序来,因为第二篇 Joy Division 我还没实现 😝创建画布首先创建一个用于绘制的画布,然后实现 TriangularMeshPainter 的 paint 方法。123456789101112131415class TriangularMesh extends StatelessWidget { @override Widget build(BuildContext context) { return CustomPaint( painter:..
更多Flutter 绘制瓷砖线 Tiled Lines
前几天发现了一个使用 绘制图形的教程 generative artistry 感觉很有意思,尝试用 Flutter 实现。本文实现第一篇教程的图形 Tiled Lines 效果如下。前言前几天发现了一个使用 绘制图形的教程 generative artistry 感觉很有意思,尝试用 Flutter 实现。本文实现第一篇教程的图形 Tiled Lines 效果如下。创建画布首先使用一个 Container 控件创建一个 320*320 大小的绘制区域,添加 CustomPaint 画布和一个继承 CustomPainter的画笔 TiledLinesPainter。关于 CustomPaint 和 CustomPainter 的知识可以查阅这篇文章 使用 Flutter 绘制图表(一)柱状图 📊。1..
更多当表格排版遇到了合并单元格
我负责的面单平台的需求复杂度已经越来越高了。自从寒假接了一个复杂表格排版的需求后,各类业务对于表格排版的使用场景也开始变多。毕竟,一个可以自动换页排版,并保持每一页都带有首部区域和尾部区域的表格,哪个业务不喜欢呢?(被打)表格的排版先回顾一下之前的需求:有一类专门的面单类型叫“拣货单”,用于给卖家拣货拣货单有三个部分:头部区域(展示 Logo、买家地址等)、表格(展示商品信息)、尾部区域(展示备注和页码)表格可能非常长,需要分页打印(纸张类型分为 A4、A5、A6 三种)第一页的表格之前一定会有一个头部区域每一页的表格之后都要接一个尾部区域,可以配置非第一页的表格之前是否也接一个头部区域表格的数据内容未知,列宽、字体、字号均可以自定义,行高不确定大概的效果嘛,类似于下图(A6,横向,非第一页的表格之前也接..
更多用 Flutter 实现探探卡片布局
前几天写了一个 Fluter 插件 tcard,用来实现类似于探探卡片的布局。前言前几天写了一个 Fluter 插件 tcard,用来实现类似于探探卡片的布局。效果如下,本文讲解如何使用 Stack 控件实现这个布局。在线查看初识 StackStack 是一个有多子项的控件,它会将自己的子项相对于自身边缘进行定位,后面的子项会覆盖前面的子项。通常用来实现将一个控件覆盖于另一个控件之上的布局,比如在一张图片上显示一些文字。子项的默认位置在 Stack 左上角,也可以用 Align 或者 Positioned 控件分别进行定位。12345678910111213141516171819Stack( children: [ Container( width: 100, height:..
更多最好的你
LeetCode 1014 最佳观光组合LeetCode 1014. 最佳观光组合
更多Flutter 绘制图表(二)饼状图🍪
本文讲解如何使用 Flutter 绘制饼状图前言接上文,本文讲解如何使用 Flutter 绘制饼状图,最终效果如图在线查看定义 PieChart & PiePart第一步定义 PieChart 和 PiePart 类。PieChart 是整个饼状图控件,有 datas 和 legends 两个属性,表示饼图的数据和每部分的标识。PiePart 表示饼图的一部分,有 color, startAngle, sweepAngle 三个属性,分别表示颜色,起始弧度值,占据圆形的弧度值。PeiChartPainter 类实现了具体的绘制方法。123456789101112131415161718192021222324252627282930313233343536373839404142434445464..
更多拯救者 Y9KK 换机指南
AMD!YES!R7K!NO!Y9KK! YES!前言我的第一个笔记本也是我现在 正在使用的笔记本,是 16 年花了五千大洋购入的华硕的暗影战神。当时很年轻没有做功课,只是想买台笔电打打DNF,写写代码这样。在逛了秦皇岛的几条街后,感觉笔记本都差不多,也不知道什么配置,就草草下单了。现在看来,这台笔电在当时就是个坑:4G 内存,DDR31T 机械硬盘intel 4 代 双核标压N 卡 980,2G 显存5200 毫安的电池2.7kg 的重量买完之后,打两局LOL就烫手,打开个Chrome内存基本就没了…幸好后来在大学这两年,我相继买入了内存条+固态,才勉强维持得了生活。前不久因为找到了实习工作,所以多年一直蠢蠢欲动 换电脑的想法 也随之强烈起来。我是非常想换Macbook Pro的,可惜那两万多的价钱对学..
更多TrampolineHook 学习笔记
前言 最近看到了一个有趣的项目:TrampolineHook (opens new window),一个中心重定向框架,简单来讲可以用于拦截指定函数,在函数被调用时,收到一个回调通知。这个项目没有使用常用的方法交换方案,而是选择汇编实现。非常 amazing 啊,让我对其实现的原理感到好奇。边学习相关知识,边阅读源码,有了初步的理解。 才疏学浅,有误内容还请多多指正。 本文内容相对最新源码有一定的过时,但不妨碍理解核心思路,本文对应的源码可以在 https://github.com/SatanWoo/TrampolineHook/tree/5c161aae9fe2826fd9660029bd5ab5a5eec183e9 (opens new window) 访问。 本文描述版本存在栈污染,详细的描述您..
更多隐私保护 - 使用多个匿名手机号
如今拿手机号注册个网站,我们的手机号可能会被卖到各种地方。结果每天收到垃圾短信、骚扰电话。 注册一些备用手机号能有效解决这个问题。(当然了已经卖出去的没啥办法了,但仍然可以给现有账号换绑手机号。) 本文给出了我使用的手机号方案,操作起来不算复杂,使用也还方便,持有成本也低。 # 阿里小号 号码地区:中国 +86。 注册难度:低,下载 App 使用淘宝账号登录即可。 功能介绍:可以在 App 内收发短信,收到的电话会转拨到真实手机号。 持有成本:20/元/年。 使用体验:尚可,可以直接注册国内绝大部分网站,App 内收短信可以跨设备使用。但各种广告仍然会发送到阿里小号中。 阿里提供的小号注册,一个账号可以绑定两个小号。目前我买了一个使用。 # Google Voice 号码地区:美国 +1。 注册难度:一般..
更多使用虚拟机绕过 Windows Samba 客户端端口限制
背景迫于不能浪费宿舍联通宽带的公网 IP,我用树莓派搭建了一个 NAS,使用 Samba 提供访问。但是,由于运营商限制,入站和出站的 139、445 端口都被封禁(对!你不能访问其他机器的 445 端口!),这样做只能让同一个局域网的服务访问。我尝试修改了端口号,把本地的 445 端口映射到公网的其它端口,算是可以给大部分 Samba 客户端使用了(比如安卓手机)。但是,Windows 的 Samba 客户端,并不支持设置端口号(如果在文件管理器地址栏输入 \\a.b.c.d:xxx 将会被认为是 WebDAV 协议)。网上某些教程说,在 Windows 本地设置端口转发,把访问本机 445 端口的流量转发至你的 Samba 服务器端口。但是,这样做需要关闭 Windows 自己的 Samba 服务器,..
更多