有没有类似 mermaid 的通过代码绘制这种图形的

有没有类似 mermaid 的通过代码绘制这种图形的

不怕麻烦可以试试 Tikz,大概让 GPT 配合整了一下。

\documentclass[tikz,border=2mm]{standalone}
\usetikzlibrary{shapes.geometric, arrows, fit, positioning,calc}
\begin{document}
\begin{tikzpicture}[font=\small]
% Ethernet II Frame
\node[draw, rectangle, minimum height=1cm, minimum width=3cm, fill=cyan!30] (dmac1) {DMAC (6 B)};
\node[draw, rectangle, minimum height=1cm, minimum width=3cm, fill=cyan!30, right=0cm of dmac1] (smac1) {SMAC (6 B)};
\node[draw, rectangle, minimum height=1cm, minimum width=3cm, fill=cyan!60, right=0cm of smac1] (type1) {Type (2 B)};
\node[draw, rectangle, minimum height=1cm, minimum width=11cm, fill=cyan!30, right=0cm of type1] (data1) {Data (46-1500 B)};
\node[draw, rectangle, minimum height=1cm, minimum width=2cm, fill=cyan!30, right=0cm of data1] (fcs1) {FCS (4 B)};
\node[anchor=east, left=0.5cm of dmac1] (ethernetii) {Ethernet II};
% IEEE 802.3 Frame
\node[draw, rectangle, minimum height=1cm, minimum width=3cm, fill=cyan!30, below=1.5cm of dmac1] (dmac2) {DMAC (6 B)};
\node[draw, rectangle, minimum height=1cm, minimum width=3cm, fill=cyan!30, right=0cm of dmac2] (smac2) {SMAC (6 B)};
\node[draw, rectangle, minimum height=1cm, minimum width=3cm, fill=cyan!60, right=0cm of smac2] (length) {Length (2 B)};
\node[draw, rectangle, minimum height=1cm, minimum width=3cm, fill=cyan!60, right=0cm of length] (llc) {LLC (3 B)};
\node[draw, rectangle, minimum height=1cm, minimum width=5cm, fill=cyan!60, right=0cm of llc] (snap) {SNAP (5 B)};
\node[draw, rectangle, minimum height=1cm, minimum width=3cm, fill=cyan!30, right=0cm of snap] (data2) {Data (38-1492 B)};
\node[draw, rectangle, minimum height=1cm, minimum width=2cm, fill=cyan!30, right=0cm of data2] (fcs2) {FCS (4 B)};
\node[anchor=east, left=0.5cm of dmac2] (ieee8023) {IEEE 802.3};
% SNAP Fields Breakdown
\node[draw, rectangle, minimum height=1cm, minimum width=2cm, fill=cyan!30, below=2cm of llc.west, anchor=west] (dsap) {D.SAP (1 B)};
\node[draw, rectangle, minimum height=1cm, minimum width=2cm, fill=cyan!30, right=0cm of dsap] (ssap) {S.SAP (1 B)};
\node[draw, rectangle, minimum height=1cm, minimum width=2cm, fill=cyan!30, right=0cm of ssap] (control) {Control (1 B)};
\node[draw, rectangle, minimum height=1cm, minimum width=3cm, fill=cyan!30, right=2cm of control] (org) {Org Code (3 B)};
\node[draw, rectangle, minimum height=1cm, minimum width=2cm, fill=cyan!30, right=0cm of org] (type2) {Type (2 B)};
% Vertical alignment lines
\draw[dashed] (llc.north west) -- (data1.south west);
\draw[dashed] (data2.north east) -- (data1.south east);
% Arrows with 46-1500B label
\draw[<->, thick] ($(llc.north west)!0.5!(data1.south west)$) -- ($(data2.north east)!0.5!(data1.south east)$) node[midway, fill=white, inner sep=1pt] {46-1500 B};
% Fit boxes for IEEE 802.3 breakdown
\node[draw, dashed, inner sep=2mm, fit={(dsap) (type2)}] (snapfit) {};
% Additional dashed lines for SNAP fit
\draw[dashed] (llc.south west) -- (snapfit.north west);
\draw[dashed] (snap.south east) -- (snapfit.north east);
\end{tikzpicture}
\end{document}
Facebook 是一个联系朋友的社交工具。大家可以通过它和朋友、同事、同学以及周围的人保持互动交流,分享无限上传的图片,发布链接和视频,更可以增进对朋友的了解。
Laravel 是一套简洁、优雅的 PHP Web 开发框架。它采用 MVC 设计,是一款崇尚开发效率的全栈框架。
WiFiDog 是一套开源的无线热点认证管理工具,主要功能包括:位置相关的内容递送;用户认证和授权;集中式网络监控。
jsoup 是一款 Java 的 HTML 解析器,可直接解析某个 URL 地址、HTML 文本内容。它提供了一套非常省力的 API,可通过 DOM,CSS 以及类似于 jQuery 的操作方法来取出和操作数据。
Kubernetes 是 Google 开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。
OpenResty 是一个基于 NGINX 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。
希望你我能在旅途中找到人生的下一站。
RYMCU 致力于打造一个即严谨又活泼、专业又不失有趣,为数百万人服务的开源嵌入式知识学习交流平台。
Google(Google Inc.,NASDAQ:GOOG)是一家美国上市公司(公有股份公司),于 1998 年 9 月 7 日以私有股份公司的形式创立,设计并管理一个互联网搜索引擎。Google 公司的总部称作“Googleplex”,它位于加利福尼亚山景城。Google 目前被公认为是全球规模最大的搜索引擎,它提供了简单易用的免费服务。不作恶(Don't be evil)是谷歌公司的一项非正式的公司口号。
互联网运维工作,以服务为中心,以稳定、安全、高效为三个基本点,确保公司的互联网业务能够 7×24 小时为用户提供高质量的服务。
Openfire 是开源的、基于可拓展通讯和表示协议 (XMPP)、采用 Java 编程语言开发的实时协作服务器。Openfire 的效率很高,单台服务器可支持上万并发用户。
强迫症(OCD)属于焦虑障碍的一种类型,是一组以强迫思维和强迫行为为主要临床表现的神经精神疾病,其特点为有意识的强迫和反强迫并存,一些毫无意义、甚至违背自己意愿的想法或冲动反反复复侵入患者的日常生活。
Ruby 是一种开源的面向对象程序设计的服务器端脚本语言,在 20 世纪 90 年代中期由日本的松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)设计并开发。在 Ruby 社区,松本也被称为马茨(Matz)。
CAP 指的是在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可兼得。
Postman 是一款简单好用的 HTTP API 调试工具。
Ngui 是一个 GUI 的排版显示引擎和跨平台的 GUI 应用程序开发框架,基于
Node.js / OpenGL。目标是在此基础上开发 GUI 应用程序可拥有开发 WEB 应用般简单与速度同时兼顾 Native 应用程序的性能与体验。
Web Clipper 是一款浏览器剪藏扩展,它可以帮助你把网页内容剪藏到本地。
机器学习(Machine Learning)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。
ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。
上帝为你关上了一扇门,然后就去睡觉了....努力不一定能成功,但不努力一定很轻松 (° ー °〃)
“梦想从学习开始,事业从实践起步” —— 习近平
子曰:“工欲善其事,必先利其器。”
小薇是一个用 Java 写的 QQ 聊天机器人 Web 服务,可以用于社群互动。
由于 Smart QQ 从 2019 年 1 月 1 日起停止服务,所以该项目也已经停止维护了!
Vditor 是一款浏览器端的 Markdown 编辑器,支持所见即所得、即时渲染(类似 Typora)和分屏预览模式。它使用 TypeScript 实现,支持原生 JavaScript、Vue、React 和 Angular。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于