将 PNG 图像转换为 TikZ 代码

将 PNG 图像转换为 TikZ 代码

我正在尝试将此处的图像转换为比较干净的 TikZ 代码 挪威国旗

现在我下载了potrace,并尝试将图像转换为 eps,然后使用inkscape它将其转换为 TikZ 代码。唉,potrace对我来说不起作用。要么就是我无法让它工作,它似乎相当复杂。打开命令窗口并输入路径没有任何效果。无论如何,这里有人有什么将图像转换为 TikZ 代码的好方法吗?

答案1

仅使用此中的规格维基百科页面

\documentclass{article}
\usepackage{xcolor}
\usepackage{tikz}
\definecolor{RedNo}{HTML}{EF2B2D}
\definecolor{BlueNo}{HTML}{002868}

\begin{document}
\begin{tikzpicture}[scale=.5]
\fill [RedNo]  (0,0) rectangle (6,6) ;
\fill [RedNo]  (0,10) rectangle (6,16) ;
\fill [RedNo]  (10,0) rectangle (22,6) ;
\fill [RedNo]  (10,10) rectangle (22,16) ;
\fill [BlueNo] (7,0) rectangle (9,16) ;
\fill [BlueNo] (0,7) rectangle (22,9) ;
\end{tikzpicture}
\end{document}

在此处输入图片描述

使用代码

\definecolor{GreenIt}{HTML}{009246}
\definecolor{BWhiteIt}{HTML}{F1F2F1}
\definecolor{RedIt}{HTML}{CE2B37}

\begin{tikzpicture}[scale=2]
\fill [GreenIt]  (0,0) rectangle (1,2) ;
\fill [BWhiteIt] (1,0) rectangle (2,2) ;
\fill [RedIt]    (2,0) rectangle (3,2) ;
\end{tikzpicture}

一个人得到另一面美丽的旗帜

在此处输入图片描述

答案2

我很无聊,就尝试了我在手册中看到的东西。这是手册第 160 页上的双线示例:好像蓝色部分在剪辑部分外形成了一个尖角无穷大符号。所以我用了(使用 egreg 的漂亮颜色)

\documentclass{article}
\usepackage{xcolor}
\usepackage{tikz}
\definecolor{RedNo}{HTML}{EF2B2D}
\definecolor{BlueNo}{HTML}{002868}
\begin{document}
\begin{tikzpicture}
%\clip (0,0) rectangle (22mm,16mm);
\fill[RedNo] (0,0) rectangle (22mm,16mm);
\draw[smooth cycle, draw=white,double=BlueNo,line width=1mm,double distance = 2mm]
(8mm,8mm) -- (24mm,8mm) -- (24mm,18mm) -- (8mm,18mm)--%
(8mm,-2mm) -- (-2mm,-2mm) -- (-2mm,8mm) -- cycle;
\end{tikzpicture}
\end{document}

这就是您所得到的。

在此处输入图片描述

基本上,整个技巧就是smooth cycle选项。如果你取消注释中间的行,你就会得到原始标志。:)

编辑:在玩转了循环之后,Torbjørn T. 很快注意到,人们还可以直接在红色矩形上画两笔双线,而不必在它周围画循环。

\documentclass{article}
\usepackage{xcolor}
\usepackage{tikz}
\definecolor{RedNo}{HTML}{EF2B2D}
\definecolor{BlueNo}{HTML}{002868}
\begin{document}
\begin{tikzpicture}
\fill[RedNo] (0,0) rectangle (22mm,16mm);
\draw[draw=white,double=BlueNo,line width=1mm,double distance = 2mm]%
(8mm,0) -- (8mm,16mm) (0,8mm) -- (22mm,8mm);
\end{tikzpicture}
\end{document}

答案3

我使用过的最好的追踪界面是通过 Inkscape。笔记您不需要先使用 potrace。Inkscape 有一个内置的跟踪工具,如果您有插件,甚至可以输出 TikZ。但是,上面的图像在 TikZ 中生成非常简单,只需手动编码即可。

例如,可以仅使用矩形来编码旗帜的(非常)粗糙版本:

\begin{tikzpicture}[scale=0.5]
    \path[fill=red!90!black] (0,0) rectangle (22,16);
    \path[fill=white] (6,0) rectangle (10,16);
    \path[fill=white] (0,6) rectangle (22,10);
    \path[fill=blue!40!black] (0,7) rectangle (22,9);
    \path[fill=blue!40!black] (7,0) rectangle (9,16);
\end{tikzpicture}

旗帜

维基百科给出了正确的比例和颜色,因此您可以非常简单地进行编码。

相关内容