wpf 实现印章,公章效果
2024-08-30 04:14:12
能写一些特定外观的控件,是一个做界面开发的程序员的基础技能。基本上,不管你是做web,QT,MFC,Winform,WPF等等,如果自己看到一个比较好看的有趣的效果,能大致推断出它的实现方式并照猫画虎做一个自己的控件,还是一件有趣且能提升自己的事
今天实现一个公章
当看任何一个效果时,先揣测一下的实现思路。这个过程很重要, 看到这个公章,其实就3个部分,外部大圆,中间五角星,绕着圆内环的文字。
基本上只要你大致的学过wpf.大圆肯定时没问题的。用一个Ellipse 来画就行了。
五角星,看看书基本上也没问题,都会告诉你用path 来绘制。或者用polyline polygin 都可
关键还是文字。其实我一开始也没想到这个绕这圆圈的文字怎么实现。 这种灵光就像变魔术一样,不知道前很高深,知道了后就时很简单的一个东西了。
我始终在想怎么把一个 label 或者TextBlock 掰弯那。
这里就不得不再感慨一下,技术这个东西,有的时候正面客、克服它要花很大的精力,但是绕过它确实很简单的。不要一根筋
如果我把一个字作为一个Label。 放在圆的12点位置,让它做旋转变形。
是不是瞬间就明白了
接下来就是封装出一个好用的控件吧,无非就是在cs代码中,根据要显示的内容,生成多个label,每个label显示一个字,且计算它的旋转角度
具体源码见https://gitee.com/csszbb/wpfnet5
最新文章
- 三国魂破解1——resmask.swf
- CentOS minimal网络设置
- Spring源码阅读系列总结
- C# 正则分组捕获
- FFmpeg-20160413-snapshot-bin
- 如何用Fiddler对Android应用进行抓包
- 传统的Ado.net 参数设置:params SqlParameter[] commandParameters
- JavaScript 同源策略
- SCOI2010 and SXOI2014 股票交易(DP)
- DES原理与实现
- 关于在arm裸板编程时使用printf问题的解决方法
- 文章标题 Oracle数据库中dual表使用
- 2018-2019-2 20165314《网络对抗技术》Exp1 PC平台逆向破解
- redis缓存中间件基础
- [转] vi/vim命令模式和编辑模式各种操作
- vue的环境配置
- LeetCode OJ 129. Sum Root to Leaf Numbers
- Linux驱动之poll机制的理解与简单使用
- FFmpeg:视频转码、剪切、合并、播放速调整
- QT和JS的互相调用例子