\fill
我正在嘗試使用 TikZ 使用緊密堆疊的矩形來建立密度圖。影像中不需要的細邊框,它們是渲染的產物還是 的功能fill
?它們可以被消除/平滑嗎?
\documentclass{standalone}
\usepackage{tikz}
\usepackage{pgf}
\usepackage{gnuplot-lua-tikz} %for colors
\begin{document}
\pagestyle{empty}
\begin{tikzpicture}[xscale=0.05,yscale=0.3]
\fill[rgb color={0.40,0.50,0.01}, opacity=0.75] (0.000,0.00) -- (2.000,0.00) -- (2.000,0.40) -- (0.000,0.40) -- cycle;
\fill[rgb color={0.40,0.50,0.01}, opacity=0.75] (0.000,0.40) -- (2.000,0.40) -- (2.000,0.80) -- (0.000,0.80) -- cycle;
\fill[rgb color={0.40,0.50,0.01}, opacity=0.75] (0.000,0.80) -- (2.000,0.80) -- (2.000,1.20) -- (0.000,1.20) -- cycle;
\fill[rgb color={0.40,0.50,0.01}, opacity=0.75] (0.000,1.20) -- (2.000,1.20) -- (2.000,1.60) -- (0.000,1.60) -- cycle;
\fill[rgb color={0.40,0.50,0.01}, opacity=0.75] (0.000,1.60) -- (2.000,1.60) -- (2.000,2.00) -- (0.000,2.00) -- cycle;
\fill[rgb color={0.68,0.74,0.48}, opacity=0.75] (0.000,2.00) -- (2.000,2.00) -- (2.000,2.40) -- (0.000,2.40) -- cycle;
\fill[rgb color={0.95,0.96,0.92}, opacity=0.75] (0.000,2.40) -- (2.000,2.40) -- (2.000,2.80) -- (0.000,2.80) -- cycle;
\fill[rgb color={0.99,0.99,0.98}, opacity=0.75] (0.000,2.80) -- (2.000,2.80) -- (2.000,3.20) -- (0.000,3.20) -- cycle;
% ...
\end{tikzpicture}
\end{document}
答案1
我認為這是 PDF 閱讀器的產物。在 AR9/Linux 中,我明顯看到白線和黑線,這兩者都取決於視圖比例。
如果填滿區域的邊框線不位於像素邊框上,則 PDF 檢視器必須決定如何對這些邊框像素進行著色。然後,顯然它們被留空,而在 AR 中,它們從兩個填充區域 ( opacity=75
) 獲取顏色。
因此我會使用點陣圖影像。例如,你的第一張圖片 有26列。在 gimp 中將其縮放到寬度 26 像素後,我得到一個影像26 x 37 像素:
在 TeX 文件中,影像再次按比例放大,例如:
\documentclass{article}
\usepackage{graphicx}
\pagestyle{empty}
\begin{document}
\noindent
\includegraphics[width=\linewidth]{xUnJo.png}
\end{document}
透明度
問題中的文件使用opacity=0.75
.有兩種使用點陣圖支援此操作的方法:
- PNG 透過 Alpha 通道支援透明度。
- 可以建立沒有透明度的點陣圖(並且沒有 Alpha 通道的檔案大小應該更小)。當包含圖像時,會添加透明度。
點陣圖生成
直接方法。
顏色值直接寫入影像檔案。手提像素圖是一種簡單的格式,因為它知道 ASCII 版本。 MWE 範例:
P3 # The P3 means RGB colors in ASCII. # Next line: 1 row, 9 columns (from bottom to top) # Following line: max. color # Then image data as integers. 1 9 255 252 252 250 242 245 235 173 189 122 173 189 122 102 127 3 102 127 3 102 127 3 102 127 3 102 127 3
然後圖像可以轉換為PNG,例如
pnmtopng
Netpbm 工具:pnmtopng <myimage.ppm >myimage.png
間接方法。
進入
tikzpicture
一個單獨的頁面/文檔,沒有邊距。然後可以將 PDF 版本轉換為以列/行數作為像素寬度/高度的影像。使用 ImageMagick 和 26 列 37 行影像的轉換範例:convert -resize 26x37 myimage.pdf myimage.png