下面介绍一些常用的绘图工具。
下面就是用代码画的TCP三次握手的时序图,短短20行就搞定,是不是还挺简单的?
下面这张图片来自网络,用于描述应用部署流程,使用plantUML
绘制,是不是也一目了然?
要了解代码画图,就不得不提它的好兄弟,也就是代码排版领域的王者——markdown。作为一个已经诞生16年的文本标记语言,markdown已经在文本编辑领域大放异彩。最开始只是程序员提高文本撰写效率的工具,现在已经被越来越多的博主以及新媒体工作者所接受。如果你是一名markdown深度用户,那么今天的文章一定非常对你的口味!如果你还没用过markdown但是工作中有不少文字编辑相关的内容,不妨先尝试下markdown再来看这篇文章。
markdown的好处有很多:
1)轻量&迅速(想想你打开《XXX毕业设计》论文的时候);
2)上手简单,常用的符号就那么多,15分钟妥妥地从入门到精通;
3)跨平台,可转多种格式;
4)高效,纯键盘操作,抛弃你的鼠标(VIM党在哪里?)。
当然,也有一些缺陷:
1)不支持个性化调整。比如领导要求标题居中,改不了啊,差评!(请出门右转打开Word开启你的排版之路);
2)不同编辑器语法支持不一样,标准化做得不太好(但在向统一和标准化的方向发展中)。当然,这些缺陷在广大程序员眼中都不值一提。
对于我个人而言,markdown的最大的好处就是:帮我养成了随手记录的习惯。打开一个本地或者在线的markdown编辑器,随便复制一段代码,一个截图,加上两句话就是一篇笔记(或者更应该叫“随笔”?)。根本没有那种“要写笔记,应该怎么开头呢?应该采用总分总还是什么其他结构?”的起步难的顾虑和包袱。有了这个记录的随笔,后面再遇到类似的问题只需要检索一下即可,也为整理成文章提供了很多素材(本篇文章也是日常东拼西凑出来的),对于我这种记性不太好的人而言简直是救星般的存在!
编辑器的话分为本地和在线,本地就是自己想怎么玩怎么玩儿,在线更适用于临时记录或者多人协作的场景。本地工具强推Typora! 免费!苹果美学!所见即所得(“What You See Is What You Mean”)的终极倡导者。语法支持相对完善,提供多种模板,还可以加入emoji表情:rofl:。
当然,还支持多种代码画图的插件,比如js-sequence、flowchart.js、memaid等。如果没用过这些插件的话别着急,咱们在下一章会一个一个描述。可惜Typora专注于成为一个小而美的编辑器,如果它再增加一个笔记整理的功能,那么印象笔记,有道云笔记啥的都可以统统扔掉了:yum:。
注:有一些可能存在低版本不兼容的问题。
js-sequence
、flowchart.js
的支持。mermaid,echarts,plantUML
等。特点是发布功能,可以发布到wordpress
或者印象笔记
等平台,一键导出生成博客有没有。一不小心列举了这么多。。。。青菜萝卜各有所爱,如果实在选择困难症的话就用Typora吧。
另外还有一些其他工具并非markdown编辑器,但是他们普遍对markdown支持良好,也能提供非常棒的书写体验:
接下来要对我知道的画图工具做一个大盘点,如果有没覆盖到的好产品请在评论区向我疯狂安利!一经采纳必有重赏!:crossed_fingers:
就是文章一开始TCP三次握手的在线工具
手绘潦草风
。。)牛逼之处在于,js-sequence-diagrams
支持的语法可以简化为下面这张图,而这张图作者也是通过代码用Railroad Diagram Generator工具生成的。:rofl:
// Chain elements like this
[Customer]<>-orders*>[Order]++-0..*>[LineItem]
// Add notes
[Order]-[note: Aggregate Root ala DDD{bg:wheat}]
// Add more detail
[≪IDisposable≫;Customer|+forname: string;+surname: string;-password: string|login(user,pass)]
websequence
中的付费功能在这里是免费的需要先定义开始/结束(start
/end
)、条件框(condition
)、流程/子流程(operation
/subroutine
)这些元素,然后用->
将它们连起来,流程图就ok了。
诚然,上面提到的代码画图方法还是只能把我们从一些相对简单和基本的时序图/流程图等里面解放出来。那么如果要画的图足够复杂,必须得自己动手怎么办?
莫慌,下面这些工具都很好用。
Lucidchart
以下是在processOn上随便找到的一张微服务架构图,质量还算可以了。
flowchart.js
要好看很多!有些人认为是mac上最好的绘图工具,颜值高,功能齐全。缺点也跟mac有关系:1)只支持mac和iOS系统;2)收费(US$12.49/month);3)多版本协作不便
非常强大的工具套件,主要面向企业级用户。在上述提供的在线版中也能提供相对不错的绘图体验,图的分类更加细化,不过免费版功能相对受限。值得一提的是,可以找到很多云厂商(阿里云、腾讯云、AWS、Google Cloud等)的架构图和解决方案图,可作为模板来使用(可编辑),但保存需升级到付费版。
产品经理们用来做原型图的工具,功能非常强大。(如果不知道什么是原型图请跳过)
更偏向设计一些,功能强大,会有图层、蒙版等偏向PS的概念。也可以用来画一些非常好看的架构图。社区提供了丰富的教程和素材资源以及插件。
微软家的老牌绘图工具,不过多介绍。
没错,最后还是它,万能的VS Code!。想干啥都有插件。
值得一提的是,这个插件是可以支持代码编辑的,你可以拆分编辑器,一半是图片,一半是其XML。通过修改XML代码来实现调整图片的目的。如果可以将代码简化一下并支持只能自动调整配色和分布,个人感觉将是代码画图的终极形态!
对于非设计科班出身或者缺乏美术细胞的人来说,为自己的图选择配色实在是个令人头疼的问题。下面仅分享两个配色网站,你可以根据自己的公司主颜色或者PPT主颜色来调整。
提供现成的配色方案,你可以直接记住色号,然后再画图的时候使用即可。非常地简单。
不相信自己,要试试AI的能力嘛?你只需要先随便选择50个颜色,然后让AI为你生成配色方案吧。
另外还有一点就是多看其他配色优秀的图,努力提升自己的审美和对颜色的敏感度。
本文系作者在时代Java发表,未经许可,不得转载。
如有侵权,请联系nowjava@qq.com删除。