1.python海龟画 turtle的源码简单使用 海龟画四个例子(附源码)
2.画图用什么软件?
3.StarUMLUML工具V50汉化绿色版StarUMLUML工具V50汉化绿色版功能简介
4.PowerBuilder做的史上最强的矢量画图软件VISIO也要低头
5.手把手超详细!教你用turtle画一个象棋棋盘附源码
6.8个用于绘制软件架构图的画图画图工具
python海龟画 turtle的简单使用 海龟画四个例子(附源码)
Python的turtle库是一个简单易用的绘图工具,源自年的工具Logo语言。作为内置模块,源码无需额外安装即可导入使用:import turtle
海龟绘图的画图核心在于三个关键属性:方向、位置和画笔。工具新闻界面 源码画布是源码绘图的基础,可以通过调整宽度、画图高度、工具背景颜色,源码以及设置起始坐标来定制。画图例如:
python
# 定义画布尺寸和背景
width = # 宽度,工具像素值或屏幕比例
height = # 高度,源码像素值或屏幕比例
bg = "white" # 背景颜色
# 初始化画布
turtle.setup(width,画图 height, startx=0, starty=0)
画笔则是绘图的核心工具,包括方向(默认朝向x轴正方向)、工具状态(颜色、宽度)和速度。例如,改变画笔颜色和宽度:
python
turtle.pencolor("blue") # 设置蓝色
turtle.pensize(5) # 设置宽度为5像素
海龟绘图命令丰富多样,包括运动(前进、后退、旋转等)、画笔控制(颜色、宽度、速度设置)和全局控制。例如,gojs源码画一个半径为像素的圆:
python
turtle.circle() # 画一个半径为的圆
通过turtle库,你可以轻松创建各种图形,如奥运五环、黑白皮卡丘和史迪仔穿雨靴的鸭子等。对于初学者,推荐加入专门的Python学习社区,那里有从基础到进阶的教程和实战项目,帮助你更好地理解和掌握turtle绘图,了解行业对Python人才的需求和学习技巧。
画图用什么软件?
今天跟大家聊一下,画图这件事。画图在我们工作中是很有帮助的。有时候,一张的信息,胜过几千字的解释。
比如,如果你想跟领导汇报一个业务流程的问题,把业务流程画出来,肯定用图的方式比用文字的方式交流起来会更有效率,更轻松些。
再比如说,如果你参与了一个比较复杂的项目开发,你也可以把代码的流程图给画出来,不仅能帮助自己加深理解,也能帮助后面参与的wodemo源码同事能更快地接手这个项目,甚至如果你要晋升级别了,演讲 PPT 里的配图也是必不可少的。
不过很多人都是纠结用什么画图工具,其实不必纠结哪款画图工具,挑一款自己画起来舒服的就行了。
画图工具
首先,跟大家介绍一款我觉得很好用的画图工具:draw.io。
选择它的原因很简单,因为是免费的,而且的源文件可以直接保存到 Github,这样非常方便,相当于直接云备份到了 Github 仓库里。
draw.io 画图工具可以在线画图,或者下载应用,或者作为 visual studio code 插件来使用。
我比较常用的方式是在线画图,就是直接在网站上画图。draw.io 一开始的画图网站地址就是直接在浏览器输入 draw.io 地址后,就会自动进入在线画图工具页面,现在它改版了, 改成重定向到官网地址了,所以现在想进入在线画图工具页面,地址是:
我们来看看这个画图工具的页面长什么样子,主要分为三个区域,从左往右的arrayblockqueue 源码顺序是「图形选择区域、绘图区域、属性设置区域」。
其中,最左边的「图形选择区域」可以选择的图案有很多种,常见的流程图、时序图、表格图都有,甚至还可以在最左下角的「更多图形」找到其他种类的图形,比如网络设备图标等。
再来,最右边「属性设置区域」可以设置文字的大小、颜色、线条形状等,我最常用颜色板块是下面这三种,都是比较浅色的,这样看起来舒服些。
基本图形介绍
我常用的一个图形是圆角方块图,它的位置如下图:
但是它默认的颜色过于深色,如果要在方框图中描述文字,可能看不清楚,这时我会在最右侧的「属性设置区域」把方块颜色设置成浅色系列的。另外,还有一点需要注意的是,默认的字体大小比较小,我一般会调成 px 大小。supervisor 源码
如果你不喜欢上图的带有「划痕」的圆角方块图形,可以选择下图中这个最简洁的圆角方框图形。
这个简洁的圆角方框图形,再搭配颜色,能组合成很多结构图。比如,下面这张 CPU Cache 的结构图就是用它组成的。
直角方框图形,我主要是用来组成「表格」,因为自带的表格不好看,也不方便调。
比如,下图这个「不同层级的存储器之间的成本对比表格」就是用直角方框图形画的。
如果觉得直直的线条太死板,你可以把属性中的「Comic」勾上,于是就会变成歪歪扭扭的效果啦,有点像手绘风格,挺多人喜欢这种风格。比如,下面这张 TCP 三次握手流程的图就是这种风格。
方块图形再加上菱形,就可以组合成简单程序流程图了,比如,下面这张「写直达」缓存更新模型的流程图。
所以,不要小看这些基本图形,只要构思清晰,再基本的图形,也是能构成层次分明并且好看的图。
各种组合画图
基本的图形介绍完后,画一些简单程序流程图等图形是没问题的了,接下来就是各种图形 线条的组合了。
通过一些基本的图形组合,你还可以画出时序图,时序图可以用来描述多个对象之间的交互流程,比如下面这张多个线程获取互斥锁的时序图。
再来,为了更好表达零拷贝技术的过程,那么用图的方式会更清晰。
也可以,只用一张图就描述 MySQL 执行一条 SQL 查询语句的流程。
当然,draw.io 这个画图工具,不只有简单图形,还有其他自带的设备类图形。通常我都会用这些设备类型的图标来画网络图。比如,下面这张路由器寻址的。
除此之外,还可以画更复杂的图,比如下面这张图,描述了 TCP 流量控制的时候,整个交互过程 文字描述 滑动窗口状况。
还有好多好多,我就不一一列举了。
图床
我之前用的图床是一套免费的图床,但是踩过坑。
我发现这类免费图床用着用着就不能用了,然后每次迁移我都花费很多时间去搞,果然免费就是最贵的。
所以,后来我就干脆自己掏钱搞了个图床,在云厂商那买了 OSS 存储服务器,然后再加上 CDN 形成自己的图床。
思维导图工具
我用的思维导图工具是 xmind,是国产的。他们软件的交互设计做得很不错,很简洁明了。
它有很多种风格选择,基本都是五彩的,整体挺好看的。
有意思的地方,这个思维导图工具的右侧会有一些图标选择,比如表情、标签、进度等等。
习惯用思维导图做笔记的同学, xmind 这个思维导图工具是个不错的选择。
另外,我有时会使用 Effie 这个工具来生成思维导图,它本身是一个写作的工具,但是自带一个根据文字内容生成思维导图的功能。
代码贴图工具
如果你想展示你的代码,又苦于源代码的样式不好看,则可以使用下面这个网站,能生成漂亮的代码贴图。
地址:(draw.io)提供在线协作功能,且支持离线使用,适合注重数据安全的团队;其开源特性使其易于定制和分享。其次,Lucidchart支持多种图表类型,适合快速创建和团队协作,有免费和付费版本供选择。
Excalidraw的虚拟白板设计简洁实用,特别适合需要快速草图的团队,其开源和付费版本满足不同需求。tldraw作为免费开源工具,适合寻找简单图表解决方案的用户。
Gliffy和OmniGraffle则适合企业级团队,尤其是需要绘制复杂图表的场景,但前者是付费工具,后者专为macOS和iOS用户设计。Miro作为在线协作白板,支持远程团队创新,有免费和付费版本。
CloudSkew针对云架构师,提供了针对云平台架构的绘制工具,同样有免费和付费版本。在选择工具时,要考虑数据安全性、协作需求、图表类型和成本等因素。
最后,如果你对Netty源码和架构思维感兴趣,可以参考推荐书籍《Netty源码全解与架构思维》,深入理解网络编程库的设计理念。同时,本文还分享了其他Java编程相关内容,供你参考。
StarUML画时序图
星形UML工具因其对分析软件调用关系的强大支持,尤其适合用于源码的深入剖析。 首先,打开星形UML,开始创建时序图的过程。 在画图阶段,分为以下几个步骤:新建用户图标,它代表系统中的参与者或行为者,如客户端或服务器。
接着,创建几个生命线(Lifeline),每个生命线代表系统中的实体或对象,可以是线程、进程或对象实例。
然后,通过连接关系来展示事件或消息的流动,包括发送者和接收者之间的交互。这有助于理解数据和控制流。
最后,添加图例,清晰标注各个元素的含义,使图示更具可读性和理解性。
通过这样的步骤,星形UML的时序图能够有效地呈现和分析项目的调用逻辑。