9

I'd like to draw a square with the fill color darkening as one goes up or as one goes to the right. So, the square should be darkest in the upper-right corner and lightest in the lower-left corner. Is there a way to do this using PGF commands?

2 Answers 2

6

Such shadings are described in section 85.2 of the TikZ manual. Here's an example of what you want:

\documentclass{article}
\usepackage{tikz}
\begin{document}
\pgfdeclareverticalshading{myshadingE}{80bp} 
{color(0bp)=(white); color(80bp)=(black)} 

\begin{pgfpicture} 
\pgfpathrectangle{\pgfpointorigin}{\pgfpoint{3cm}{3cm}} 
\pgfshadepath{myshadingE}{-45} 
\pgfusepath{stroke}
\end{pgfpicture} 
\end{document}

gradient

1
  • Thanks so much, exactly what I wanted! I was looking at an old user guide from 2004.
    – arnab
    Jan 2, 2011 at 1:30
13

Another possibility is using tikz commands:

\documentclass{minimal}
\usepackage{tikz}
\begin{document}
\tikz\shade[shading=axis,bottom color=black!10,top color=black,shading angle=-45] 
  (0,0) rectangle (3,3);
\end{document}
2
  • How could be set rectangle border line parameters? I tried ... (0,0) rectangle[line ...] (3,3), but error occured.
    – JardaFait
    Sep 29, 2012 at 12:39
  • @jafan: take a look at \shadedraw
    – ted
    Jun 23, 2013 at 19:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.