Radiale Schattierung ändern

Radiale Schattierung ändern

Ich versuche, die angegebene radiale Schattierung zu ändern:

\documentclass[10pt]{article}

\usepackage{blindtext}
\usepackage{XCharter}
\usepackage[T1]{fontenc}

\usepackage{graphicx}
\usepackage[x11names,svgnames,dvipsnames]{xcolor}
\usepackage[tikz]{bclogo}
\usetikzlibrary{calc}
\usetikzlibrary{shapes}

\usepackage[most]{tcolorbox}



\definecolor{recyclecolor}{RGB}{154,84,158}

\makeatletter

\tcbset{%
  decoration downshift/.store in={\decoration@downshift},
  decoration radius/.store in={\decoration@radius},
  decoration recycle radius/.store in={\decoration@recyclecircleradius},
  decoration dot radius/.store in={\decoration@dotradius},
  decoration content/.store in={\decoration@content},
  decoration colour/.store in={\decoration@colour},
}

\tcbset{recyclebox/.style={decoration radius=0.5cm,decoration downshift=-0.5cm}}

\tcbset{learnthisbox/.style={%
    decoration radius=0.5cm,
    decoration downshift=-0.5cm,
    decoration content={\bclampe},
    decoration colour=blue}
}


\newtcolorbox{recyclebox}[2][]{%
  recyclebox,
  decoration recycle radius={0.6*\decoration@radius},
  decoration dot radius={0.04*\decoration@radius},
  decoration colour=recyclecolor,
  breakable,
  enhanced jigsaw,
  leftrule=1.5pt,
  fonttitle={\bfseries\large},
  title={\MakeUppercase{Recycle!}},
  #1,
  attach title to upper={{\bfseries\large #2}\par},
  interior style={shading=radial,inner color=tcbcol@back!0,outer color=tcbcol@back},
  underlay unbroken and first={%
    \draw[tcbcol@frame,line width=\kvtcb@left@rule,fill=tcbcol@back] ($(frame.north west) + (\kvtcb@[email protected],\decoration@downshift)$) arc [start angle=90.0,end angle=270.0,radius=\decoration@radius] node[midway,inner sep=0pt] (dottedcircle) {};
    \foreach \x in {1,...,12} {%
      \draw[fill=tcbcol@back,opacity=4*(\x/12),tcbcol@frame] ($(dottedcircle) + (\decoration@radius,0cm)+(120+\x*30:\decoration@recyclecircleradius)$) circle (\decoration@dotradius);
    };
  },
  colframe={\decoration@colour},
  colback={tcbcol@frame!30},
  coltitle={tcbcol@frame!150},
}


\makeatother




\begin{document}

\begin{recyclebox}[decoration radius={0.4cm},decoration dot radius=0.03cm]{~title}
\blindtext[1]
\end{recyclebox}


\end{document}

Ich möchte die radiale Schattierung erhöhen, damit die weiße Füllung größer wird.

Der Code zeigt:

A

Gibt es eine andere Art der Schattierung? Rechteckig? Wie geht das?

Antwort1

Der Schlüssel zum Ändern einer radialen Schattierung ist \pgfdeclareradialshading, siehe das pgfHandbuch unter109.2.2 Radial Shadings

\pgfdeclareradialshading[inner color,middle color, outer color]{ustanakradial}{\pgfpoint{0.0cm}{0.0cm}}%
{ color(0)=(inner color);
  color(10bp)=(middle color);
  color(28bp)=(outer color)
}

Dies definiert eine radiale Schattierung namens ustanakradialmit einigen symbolischen Farbnamen, die auf die Kreise mit den entsprechenden Radien angewendet werden. Die Werte von 10ptund 28ptsind nur „Vermutungen“. Übertreiben Sie sie nicht.

Der Mittelpunkt der Schattierung wird hier fest auf gesetzt \pgfpoint{0cm}{0cm}.

\documentclass[10pt]{article}

\usepackage{blindtext}
\usepackage{XCharter}
\usepackage[T1]{fontenc}

\usepackage{graphicx}
\usepackage[x11names,svgnames,dvipsnames]{xcolor}
\usepackage[tikz]{bclogo}
\usetikzlibrary{calc}
\usetikzlibrary{shapes}

\usepackage[most]{tcolorbox}



\definecolor{recyclecolor}{RGB}{154,84,158}

\makeatletter


\tikzset{%
  ustanakradial inner color/.code={\colorlet{inner color}{#1}},
  ustanakradial middle color/.code={\colorlet{middle color}{#1}},
  ustanakradial outer color/.code={\colorlet{outer color}{#1}},
}

\tcbset{%
  decoration downshift/.store in={\decoration@downshift},
  decoration radius/.store in={\decoration@radius},
  decoration recycle radius/.store in={\decoration@recyclecircleradius},
  decoration dot radius/.store in={\decoration@dotradius},
  decoration content/.store in={\decoration@content},
  decoration colour/.store in={\decoration@colour},
}

\tcbset{recyclebox/.style={decoration radius=0.5cm,decoration downshift=-0.5cm}}

\tcbset{learnthisbox/.style={%
    decoration radius=0.5cm,
    decoration downshift=-0.5cm,
    decoration content={\bclampe},
    decoration colour=blue}
}


\pgfdeclareradialshading[inner color,middle color, outer color]{ustanakradial}{\pgfpoint{0.0cm}{0.0cm}}%
{ color(0)=(inner color);
  color(10bp)=(middle color);
  color(28bp)=(outer color)
}




\newtcolorbox{recyclebox}[2][]{%
  recyclebox,
  decoration recycle radius={0.6*\decoration@radius},
  decoration dot radius={0.04*\decoration@radius},
  decoration colour=recyclecolor,
  breakable,
  enhanced jigsaw,
  leftrule=1.5pt,
  fonttitle={\bfseries\large},
  title={\MakeUppercase{Recycle!}},
  #1,
  attach title to upper={{\bfseries\large #2}\par},
  interior style={shading=ustanakradial,ustanakradial inner color=tcbcol@back!0,ustanakradial middle color=tcbcol@back!0,ustanakradial outer color=tcbcol@back},
  underlay unbroken and first={%
    \draw[tcbcol@frame,line width=\kvtcb@left@rule,fill=tcbcol@back] ($(frame.north west) + (\kvtcb@[email protected],\decoration@downshift)$) arc [start angle=90.0,end angle=270.0,radius=\decoration@radius] node[midway,inner sep=0pt] (dottedcircle) {};
    \foreach \x in {1,...,12} {%
      \draw[fill=tcbcol@back,opacity=4*(\x/12),tcbcol@frame] ($(dottedcircle) + (\decoration@radius,0cm)+(120+\x*30:\decoration@recyclecircleradius)$) circle (\decoration@dotradius);
    };
  },
  colframe={\decoration@colour},
  colback={tcbcol@frame!30},
  coltitle={tcbcol@frame!150},
}


\makeatother




\begin{document}

\begin{recyclebox}[decoration radius={0.4cm},decoration dot radius=0.03cm]{~title}
\blindtext[1]
\end{recyclebox}


\end{document}

Bildbeschreibung hier eingeben

verwandte Informationen