
Obtuve un patrón de prueba de video que se ve a continuación. Es una foto tomada por la cámara de otro. Es burry y me gustaría generar uno digital yo mismo. ¿Tikz es bueno para esa imagen o se puede utilizar algún otro software?
Mi versión borrador después de leer la respuesta del gato de @Schrödinger:
\documentclass[tikz,border=0mm]{standalone}
\usepackage{graphicx}
\usetikzlibrary{matrix,fit,positioning,calc,backgrounds}
\begin{document}
\begin{tikzpicture}[]
%\useasboundingbox (0,0) rectangle (5,5);
\def\rsize{4}
\def\d{0.5}
\tikzset{
background rectangle/.style={
fill={rgb,255:red,150; green,150; blue,150}
},show background rectangle,
% box1 and box2
box1/.style={draw,line width=2pt,minimum width={\rsize*1.8cm},minimum height={\rsize*1.8cm},anchor=center},
mat/.style={matrix,inner sep=0},
% colmat
pics/colmat/.style={code={
\tikzset{colmat/.cd,#1} \def\pv##1{\pgfkeysvalueof{/tikz/colmat/##1}}%
\edef\m{\pv{m}}%
\edef\w{1.8}%
\foreach \row [count=\j] in \m {
\foreach \r/\g/\b [count=\i] in \row {
\fill[fill={rgb,255:red,\r; green,\g; blue,\b}] (\i*\w-\w,\j*\w-\w) rectangle ++(\w,\w);
}%foreach
}%foreach
}},colmat/.cd,m/.initial={{255/0/0}},/tikz/.cd,
% rad
pics/rad/.style={code={
\tikzset{rad/.cd,#1}%
\def\pv##1{\pgfkeysvalueof{/tikz/rad/##1}}%
\fill[white] (0,0) -- (0:\pv{r}) arc[start angle=0,end angle=90,radius=\pv{r}]
-- (-90:\pv{r}) arc[start angle=-90,end angle=-180,radius=\pv{r}] -- cycle;
\fill[black] (0,0) -- (90:\pv{r}) arc[start angle=90,end angle=180,radius=\pv{r}]
-- (0:\pv{r}) arc[start angle=0,end angle=-90,radius=\pv{r}] -- cycle;
}},rad/.cd,r/.initial=1,/tikz/.cd,
% disk
pics/disk/.style={code={
\tikzset{disk/.cd,#1}%
\def\pv##1{\pgfkeysvalueof{/tikz/disk/##1}}%
\colorlet{diskfill}{\pv{fill}}%
\draw[diskfill] circle[radius=\pv{r}];
\fill[\pv{bg}] (0,0) foreach \XX in {1,2,...,120}
{ -- (0.5+\XX*3:0.9*\pv{r})
arc[start angle=0.5+\XX*3,end angle=2.5+\XX*3,radius=0.9*\pv{r}]
-- (0,0) };
\path (0,0) pic{rad};
\draw[\pv{bg},line width=5pt,pic actions] circle[radius=0.95*\pv{r}];
}},disk/.cd,bg/.initial=white,fill/.initial=gray!40,r/.initial=2,/tikz/.cd,
%mycross
pics/mycross/.style={code={
\draw[rotate = 0,line width=5pt] (-1,0) -- (1,0);
\draw[rotate = 0,line width=5pt] (0,-1) -- (0, 1);
}},
% random circles
pics/random circles/.style={code={
\tikzset{random circles/.cd,#1}%
\def\pv##1{\pgfkeysvalueof{/tikz/random circles/##1}}%
\colorlet{rfill}{\pv{fill}}%
\fill[rfill] (-0.5,-0.5) rectangle (0.5,0.5);
\clip (-0.5,-0.5) rectangle (0.5,0.5);
\foreach \XX in {1,...,\pv{n}}
{\pgfmathtruncatemacro{\itest}{(rnd<\pv{f} ? 0 :1)}
\ifnum\itest=0
\fill[white,opacity=\pv{opacity}] (-0.5+rnd,-0.5+rnd)
circle[radius=rnd*rnd*rnd*\pv{r}];
\else
\pgfmathtruncatemacro{\myR}{rnd*256-0.0001}%
\pgfmathtruncatemacro{\myG}{rnd*256-0.0001}%
\pgfmathtruncatemacro{\myB}{rnd*256-0.0001}%
\definecolor{myrnd}{RGB}{\myR,\myG,\myB}%
\fill[myrnd!50,opacity=\pv{opacity}] (-0.5+rnd,-0.5+rnd)
circle[radius=rnd*rnd*rnd*\pv{r}];
\fi}
}},random circles/.cd,r/.initial=0.2,n/.initial=120,fill/.initial=gray!40,
opacity/.initial=0.2,f/.initial=0.3,
};
\coordinate (O) at (0,0);
\def\r{35}
% corner disks with rads
\foreach \a [count=\i] in {30,150,-150,-30} {
\path[disk/r=\rsize] (O) ++ (\a:\r) pic{disk} coordinate (D\i);
\foreach \x [count=\j] in {45,135,...,360} {
\path (D\i) ++ (\x:{\rsize*1.3}) pic{rad={r=0.5}} coordinate(E-\i-\j);
}
}
% rads around side
\foreach \fx\fy/\tx/\ty in {1/1/2/2,2/2/3/3,3/3/4/4,4/4/1/1} {
\path (E-\fx-\fy) -- (E-\tx-\ty)
\foreach \j in {0,0.25,0.5,0.75} {
pic[pos=\j] {rad}
};
}
% cross
\foreach \i in {45,135,...,360} {
\path (0,0) ++(\i:{\rsize*4cm}) pic{mycross};
}
% disk side
\def\r{25}
\foreach \a in {15,-165} {
\path[disk/r=\rsize] (0,0) ++ (\a:\r) node[box1] {} pic{disk};
}
\foreach \a in {165,-15} {
\path[disk/r=\rsize,disk/bg=gray!50] (0,0) ++ (\a:\r) node[box1] {} pic{disk};
}
% center
\def\r{2}
\def\al{2*\rsize}
\def\bl{\rsize/2}
\draw[fill=black] (-\r,-\r) rectangle (\r,\r);
\foreach \t in {0,0.2,...,2} {
\draw[white,line width=\t] (0,0) circle (\t);
}
% 4 wheels
\def\xlst{
-45/238/229/225/35/20/17,
45/108/94/94/194/187/185,
135/195/188/186/111/100/97,
-135/40/28/27/239/230/226%
}
\foreach \a/\rx/\gx/\bx/\ry/\gy/\by[count=\i] in \xlst {
\draw[fill={rgb,255:red,\rx; green,\gx; blue,\bx}] (\a:{\r*sqrt(2)}) -- ([turn]45:\al) -- ([turn]90:\bl) coordinate (L\i) -- cycle;
\draw[fill={rgb,255:red,\ry; green,\gy; blue,\by}] (\a:{\r*sqrt(2)}) -- ([turn]135:\bl) -- ([turn]-90:\al) -- cycle;
}
% center grass
\def\offset{{(\rsize+\r)*sqrt(2)}}
\path[rad/r=0.5] (135:\offset) pic[scale={\rsize*2}]{random circles}
++ (45:{\rsize*sqrt(2)}) pic{rad} ++ (-{2*\rsize},0) pic{rad}
++ (0,-{2*\rsize}) pic{rad} ++ ({2*\rsize},0) pic{rad}
(-45:\offset) pic[scale={\rsize*2}]{random circles}
++ (45:{\rsize*sqrt(2)}) pic{rad} ++ (-{2*\rsize},0) pic{rad}
++ (0,-{2*\rsize}) pic{rad} ++ ({2*\rsize},0) pic{rad};
% center disks
\path[disk/r=\rsize] (0,0) ++ (45:\offset) pic{disk};
\path[disk/r=\rsize,disk/bg=gray!50] (0,0) ++ (-135:\offset) pic{disk};
% P start
\def\clst{
{245/240/235},
{233/226/224},
{223/216/214},
{209/202/200},
{190/183/181}%
}
\node[right=\d of L1,mat] (P1) {\pic{colmat={m=\clst}};\\};
\def\clst{
{255/251/244,255/255/255,255/255/255,255/255/254,255/246/242}%
}
\node[above=\d of L2,mat] (P2) {\pic{colmat={m=\clst}};\\};
\def\clst{
{252/243/238},
{242/234/228},
{231/222/218},
{216/209/207},
{200/193/191}%
}
\node[left=\d of L3,mat] (P3) {\pic{colmat={m=\clst}};\\};
\def\clst{
{177/171/169,123/113/114,27/17/12,40/32/30,152/145/145}%
}
\node[below=\d of L4,matrix] (P4) {\pic{colmat={m=\clst}};\\};
% P end
%M start
\def\clst{
{255/230/208,135/19/19,225/13/86},
{237/255/240,253/42/28,118/17/42},
{250/239/240,238/151/162,235/14/44},
{232/247/247,255/161/141,255/53/27},
{218/211/209,255/163/31,255/211/15},
{118/106/103,237/221/11,255/225/7},
{31/18/12,200/176/42,224/223/10},
{189/194/44,211/231/13,78/24/12}%
}
\node[right=\d of P1,mat] (M1) {\pic{colmat={m=\clst}};\\};
\def\clst{
{118/14/5,221/169/143,110/142/174,69/102/32,164/157/198,157/225/210},
{254/164/24,45/90/186,217/20/39,120/20/130,198/212/17,245/190/18},
{48/43/169,106/186/61,218/17/22,250/211/9,226/80/181,0/163/194},
{255/255/255,235/225/224,201/191/192,140/133/133,63/51/48,23/11/10}%
}
\node[above=\d of P2,mat] (M2) {\pic{colmat={m=\clst}};\\};
\def\clst{
{194/22/135,82/27/113,239/240/237},
{232/172/222,158/116/203,255/232/231},
{168/43/169,18/55/119,228/255/250},
{20/176/221,147/198/225,255/231/220},
{112/207/221,17/51/75,250/250/206},
{12/49/45,174/201/231,243/161/95},
{120/217/215,0/195/195,234/179/154},
{32/19/13,129/211/163,0/191/142}%
}
\node[left=\d of P3,mat] (M3) {\pic{colmat={m=\clst}};\\};
\def\clst{
{27/14/11,40/28/27,101/90/84,184/178/178,228/221/219,255/255/255},
{255/207/175,218/174/127,167/101/34,226/181/158,186/98/28,239/172/135},
{255/198/167,224/182/158,224/183/154,227/179/152,136/37/9,239/179/145},
{11/41/28,101/211/186,150/196/49,97/196/63,83/210/57,216/161/39}%
%
}
\node[below=\d of P4,mat] (M4) {\pic{colmat={m=\clst}};\\};
% M end
%
\draw[red] (current bounding box.north east) -- (current bounding box.north west) -- (current bounding box.south west) -- (current bounding box.south east) -- cycle;
% keep ratio
\def\ratio{16/9}
\path let \p1=(current bounding box.center),
\p2=(current bounding box.east),
\p3=(current bounding box.north),
\p4=(current bounding box.west),
\p5=(current bounding box.south),
\n1={\y3-\y1},
\n2={\n1*\ratio},
\n3={\y5 - \y1},
\n4={\n3*\ratio}
in
[use as bounding box] (\n4,\y5) rectangle (\n2,\y3);
\end{tikzpicture}
\end{document}
Producción:
Respuesta1
Ciertamente es posible dibujar algo como esto con Ti.kZ. Para evitar que esto resulte demasiado tedioso, puedes definir pic
s. Obviamente no intenté recrear completamente la imagen, pero sí dar algunos ejemplos.
\documentclass[tikz,border=3mm]{standalone}
\begin{document}
\begin{tikzpicture}[pics/random array/.style={code={
\tikzset{random array/.cd,#1}%
\def\pv##1{\pgfkeysvalueof{/tikz/random array/##1}}%
\edef\mysize{\pv{size}}%
\def\pft##1x##2;{\edef\mynx{##1}\edef\myny{##2}}%
\expandafter\pft\mysize;%
\foreach \XX in {1,...,\mynx}
{\foreach \YY in {1,...,\myny}
{\pgfmathtruncatemacro{\myR}{rnd*256-0.0001}%
\pgfmathtruncatemacro{\myG}{rnd*256-0.0001}%
\pgfmathtruncatemacro{\myB}{rnd*256-0.0001}%
\definecolor{myrnd}{RGB}{\myR,\myG,\myB}%
\fill[myrnd] (-\mynx/2+\XX-1,-\myny/2+\YY-1) rectangle ++ (1,1);
}}
%
}},random array/.cd,size/.initial=4x4,/tikz/.cd,
pics/rad/.style={code={
\tikzset{rad/.cd,#1}%
\def\pv##1{\pgfkeysvalueof{/tikz/rad/##1}}%
\fill[white] (0,0) -- (0:\pv{r}) arc[start angle=0,end angle=90,radius=\pv{r}]
-- (-90:\pv{r}) arc[start angle=-90,end angle=-180,radius=\pv{r}] -- cycle;
\fill[black] (0,0) -- (90:\pv{r}) arc[start angle=90,end angle=180,radius=\pv{r}]
-- (0:\pv{r}) arc[start angle=0,end angle=-90,radius=\pv{r}] -- cycle;
}},rad/.cd,r/.initial=0.2,/tikz/.cd,
pics/disk/.style={code={
\tikzset{disk/.cd,#1}%
\def\pv##1{\pgfkeysvalueof{/tikz/disk/##1}}%
\colorlet{diskfill}{\pv{fill}}%
\draw[diskfill] circle[radius=\pv{r}];
\fill[white] (0,0) foreach \XX in {1,...,120}
{ -- (0.5+\XX*3:0.9*\pv{r})
arc[start angle=0.5+\XX*3,end angle=2.5+\XX*3,radius=0.9*\pv{r}]
-- (0,0) };
\draw[white,pic actions] circle[radius=0.95*\pv{r}];
}},disk/.cd,fill/.initial=gray!40,r/.initial=1,/tikz/.cd,
]
\fill[gray!30] (-10,-8) rectangle (10,8);
\path (0,0) pic[scale=0.5]{random array={size={3x6}}}
(3,1) pic{rad}
(-4,-2) pic{disk} ++ (1,1) pic{rad} ++ (-2,0) pic{rad} ++ (0,-2) pic {rad}
++ (2,0) pic{rad};
\end{tikzpicture}
\end{document}
Zoom en forma de círculo disk
.
APÉNDICE: Se agregó la foto que faltaba en tu actualización.
\documentclass[tikz,border=3mm]{standalone}
%\usepackage{graphicx} %<- gets loaded by tikz
\usetikzlibrary{matrix,fit,positioning,calc,backgrounds}
\begin{document}
\begin{tikzpicture}[anchor=south west,background rectangle/.style={fill={rgb,255:red,150; green,150; blue,150}},
show background rectangle]
\tikzset{
box1/.style={draw,line width=2pt,minimum width=9cm,minimum height=9cm,anchor=center},
pics/rad/.style={code={
\tikzset{rad/.cd,#1}%
\def\pv##1{\pgfkeysvalueof{/tikz/rad/##1}}%
\fill[white] (0,0) -- (0:\pv{r}) arc[start angle=0,end angle=90,radius=\pv{r}]
-- (-90:\pv{r}) arc[start angle=-90,end angle=-180,radius=\pv{r}] -- cycle;
\fill[black] (0,0) -- (90:\pv{r}) arc[start angle=90,end angle=180,radius=\pv{r}]
-- (0:\pv{r}) arc[start angle=0,end angle=-90,radius=\pv{r}] -- cycle;
}},rad/.cd,r/.initial=1,/tikz/.cd,
pics/disk/.style={code={
\tikzset{disk/.cd,#1}%
\def\pv##1{\pgfkeysvalueof{/tikz/disk/##1}}%
\colorlet{diskfill}{\pv{fill}}%
\draw[diskfill] circle[radius=\pv{r}];
\fill[white] (0,0) foreach \XX in {1,...,120}
{ -- (0.5+\XX*3:0.9*\pv{r})
arc[start angle=0.5+\XX*3,end angle=2.5+\XX*3,radius=0.9*\pv{r}]
-- (0,0) };
\path (0,0) pic{rad};
\draw[white,line width=5pt,pic actions] circle[radius=0.95*\pv{r}];
}},disk/.cd,fill/.initial=gray!40,r/.initial=5,/tikz/.cd,
pics/random circles/.style={code={
\tikzset{random circles/.cd,#1}%
\def\pv##1{\pgfkeysvalueof{/tikz/random circles/##1}}%
\colorlet{rfill}{\pv{fill}}%
\fill[rfill] (-0.5,-0.5) rectangle (0.5,0.5);
\clip (-0.5,-0.5) rectangle (0.5,0.5);
\foreach \XX in {1,...,\pv{n}}
{\pgfmathtruncatemacro{\itest}{(rnd<\pv{f} ? 0 :1)}
\ifnum\itest=0
\fill[white,opacity=\pv{opacity}] (-0.5+rnd,-0.5+rnd)
circle[radius=rnd*rnd*rnd*\pv{r}];
\else
\pgfmathtruncatemacro{\myR}{rnd*256-0.0001}%
\pgfmathtruncatemacro{\myG}{rnd*256-0.0001}%
\pgfmathtruncatemacro{\myB}{rnd*256-0.0001}%
\definecolor{myrnd}{RGB}{\myR,\myG,\myB}%
\fill[myrnd!50,opacity=\pv{opacity}] (-0.5+rnd,-0.5+rnd)
circle[radius=rnd*rnd*rnd*\pv{r}];
\fi}
}},random circles/.cd,r/.initial=0.2,n/.initial=120,fill/.initial=gray!40,
opacity/.initial=0.2,f/.initial=0.3
};
\path[rad/r=0.5] (135:12) pic[scale=10]{random circles}
++ (45:{5*sqrt(2)}) pic{rad} ++ (-10,0) pic{rad}
++ (0,-10) pic{rad} ++ (10,0) pic{rad}
(-45:12) pic[scale=10]{random circles}
++ (45:{5*sqrt(2)}) pic{rad} ++ (-10,0) pic{rad}
++ (0,-10) pic{rad} ++ (10,0) pic{rad};
\coordinate (O) at (0,0);
\def\r{40}
\foreach \alpha [count=\i] in {30,150,-150,-30} {
\path (0,0) ++ (\alpha:\r) pic{disk} coordinate (D\i);
\foreach \x in {45,135,...,360} {
\path (D\i) ++ (\x:7) pic{rad={r=0.5}};
}
}
\path ([yshift=8cm]D1) -- ([yshift=8cm]D2) pic[pos=0.5]{rad} pic[pos=0.5]{rad} pic[pos=0.3]{rad} pic[pos=0]{rad} pic[pos=1]{rad};
\path ([yshift=-8cm]D3) -- ([yshift=-8cm]D4) pic[pos=0.5]{rad} pic[pos=0.3]{rad} pic[pos=0.7]{rad} pic[pos=0]{rad} pic[pos=1]{rad};
\path ([xshift=8cm]D1) -- ([xshift=8cm]D4) pic[pos=0.5]{rad} pic[pos=0.3]{rad} pic[pos=0.7]{rad};
\path ([xshift=-8cm]D2) -- ([xshift=-8cm]D3) pic[pos=0.5]{rad} pic[pos=0.3]{rad} pic[pos=0.7]{rad};
\def\x{30}
\def\y{7}
%\path (0,0) ++ (\x,\y) };
\path (0,0) ++ (\x,\y) node[box1] {} pic{disk};
\path (0,0) ++ (-\x,\y) node[box1] {} pic{disk};
\path (0,0) ++ (-\x,-\y) node[box1] {} pic{disk};
\path (0,0) ++ (\x,-\y) node[box1] {} pic{disk};
\path (0,0) ++ (45:12) pic{disk};
\path (0,0) ++ (-135:12) pic{disk};
\def\r{2}
\def\al{12}
\def\bl{3}
\draw[fill=black] (-\r,-\r) rectangle (\r,\r);
\foreach \t in {0,0.2,...,2} {
\draw[white,line width=\t] (0,0) circle (\t);
}
\def\xlst{
-45/238/229/225/35/20/17,
45/108/94/94/194/187/185,
135/195/188/186/111/100/97,
-135/40/28/27/239/230/226%
}
\foreach \a/\rx/\gx/\bx/\ry/\gy/\by[count=\i] in \xlst {
\draw[fill={rgb,255:red,\rx; green,\gx; blue,\bx}] (\a:{\r*sqrt(2)}) -- ([turn]45:\al) -- ([turn]90:\bl) coordinate (L\i) -- cycle;
\draw[fill={rgb,255:red,\ry; green,\gy; blue,\by}] (\a:{\r*sqrt(2)}) -- ([turn]135:\bl) -- ([turn]-90:\al) -- cycle;
}
\matrix [left=4cm of L3 ,matrix of nodes,draw,
nodes in empty cells,anchor=east,
row sep=-\pgflinewidth,
nodes={draw,
minimum height=2cm,
minimum width=2cm,
outer sep=0pt,
align=center},
] (M1)
{
& & \\
& & \\
& & \\
& & \\
& & \\
& & \\
& & \\
& & \\
};
\def\clst{
{194/22/135,82/27/113,239/240/237},
{232/172/222,158/116/203,255/232/231},
{168/43/169,18/55/119,228/255/250},
{20/176/221,147/198/225,255/231/220},
{112/207/221,17/51/75,250/250/206},
{12/49/45,174/201/231,243/161/95},
{120/217/215,0/195/195,234/179/154},
{32/19/13,129/211/163,0/191/142}%
}
\foreach \row[count=\rn] in \clst {
\foreach \r/\g/\b[count=\cn] in \row {
\node[fill={rgb,255:red,\r; green,\g; blue,\b}, fit=(M1-\rn-\cn) ] {};
}
}
% P start
\matrix [right=1cm of L1,matrix of nodes,draw,
nodes in empty cells,anchor=west,
row sep=-\pgflinewidth,
nodes={draw,
minimum height=2cm,
minimum width=2cm,
outer sep=0pt,
align=center},
] (M2)
{
\\
\\
\\
\\
\\
};
\def\clst{
{245/240/235},
{233/226/224},
{223/216/214},
{209/202/200},
{190/183/181}%
}
\foreach \row[count=\rn] in \clst {
\foreach \r/\g/\b[count=\cn] in \row {
\node[fill={rgb,255:red,\r; green,\g; blue,\b}, fit=(M2-\rn-\cn) ] {};
}
}
\matrix [above=1cm of L2,matrix of nodes,draw,
nodes in empty cells,anchor=south,
row sep=-\pgflinewidth,
nodes={draw,
minimum height=2cm,
minimum width=2cm,
outer sep=0pt,
align=center},
] (M2)
{
& & & & \\
};
\def\clst{
{255/251/244,255/255/255,255/255/255,255/255/254,255/246/242}%
}
\foreach \row[count=\rn] in \clst {
\foreach \r/\g/\b[count=\cn] in \row {
\node[fill={rgb,255:red,\r; green,\g; blue,\b}, fit=(M2-\rn-\cn) ] {};
}
}
\matrix [left=1cm of L3,matrix of nodes,draw,
nodes in empty cells,anchor=east,
row sep=-\pgflinewidth,
nodes={draw,
minimum height=2cm,
minimum width=2cm,
outer sep=0pt,
align=center},
] (M2)
{
\\
\\
\\
\\
\\
};
\def\clst{
{252/243/238},
{242/234/228},
{231/222/218},
{216/209/207},
{200/193/191}%
}
\foreach \row[count=\rn] in \clst {
\foreach \r/\g/\b[count=\cn] in \row {
\node[fill={rgb,255:red,\r; green,\g; blue,\b}, fit=(M2-\rn-\cn) ] {};
}
}
% P end
\matrix [right=4cm of L1,matrix of nodes,draw,
nodes in empty cells,anchor=west,
row sep=-\pgflinewidth,
nodes={draw,
minimum height=2cm,
minimum width=2cm,
outer sep=0pt,
align=center},
] (M2)
{
& & \\
& & \\
& & \\
& & \\
& & \\
& & \\
& & \\
& & \\
};
\def\clst{
{255/230/208,135/19/19,225/13/86},
{237/255/240,253/42/28,118/17/42},
{250/239/240,238/151/162,235/14/44},
{232/247/247,255/161/141,255/53/27},
{218/211/209,255/163/31,255/211/15},
{118/106/103,237/221/11,255/225/7},
{31/18/12,200/176/42,224/223/10},
{189/194/44,211/231/13,78/24/12}%
}
\foreach \row[count=\rn] in \clst {
\foreach \r/\g/\b[count=\cn] in \row {
\node[fill={rgb,255:red,\r; green,\g; blue,\b}, fit=(M2-\rn-\cn) ] {};
}
}
\matrix [above=4cm of L2,matrix of nodes,draw,
nodes in empty cells,anchor=south,
row sep=-\pgflinewidth,
nodes={draw,
minimum height=2cm,
minimum width=2cm,
outer sep=0pt,
align=center},
] (M3)
{
& & & & & \\
& & & & & \\
& & & & & \\
& & & & & \\
};
\def\clst{
{118/14/5,221/169/143,110/142/174,69/102/32,164/157/198,157/225/210},
{254/164/24,45/90/186,217/20/39,120/20/130,198/212/17,245/190/18},
{48/43/169,106/186/61,218/17/22,250/211/9,226/80/181,0/163/194},
{255/255/255,235/225/224,201/191/192,140/133/133,63/51/48,23/11/10}%
}
\foreach \row[count=\rn] in \clst {
\foreach \r/\g/\b[count=\cn] in \row {
\node[fill={rgb,255:red,\r; green,\g; blue,\b}, fit=(M3-\rn-\cn) ] {};
}
}
\matrix [below=4 of L4,matrix of nodes,draw,
nodes in empty cells,anchor=north,
row sep=-\pgflinewidth,
nodes={draw,
minimum height=2cm,
minimum width=2cm,
outer sep=0pt,
align=center},
] (M4)
{
& & & & & \\
& & & & & \\
& & & & & \\
& & & & & \\
};
\def\clst{
{27/14/11,40/28/27,101/90/84,184/178/178,228/221/219,255/255/255},
{255/207/175,218/174/127,167/101/34,226/181/158,186/98/28,239/172/135},
{255/198/167,224/182/158,224/183/154,227/179/152,136/37/9,239/179/145},
{11/41/28,101/211/186,150/196/49,97/196/63,83/210/57,216/161/39}%
%
}
\foreach \row[count=\rn] in \clst {
\foreach \r/\g/\b[count=\cn] in \row {
\node[fill={rgb,255:red,\r; green,\g; blue,\b}, fit=(M4-\rn-\cn) ] {};
}
}
\end{tikzpicture}
\end{document}