~tex-sx/tex-sx/development

« back to all changes in this revision

Viewing changes to pgf-blur-example.tex

  • Committer: Andrew Stacey (Thargelion)
  • Date: 2011-06-05 20:34:05 UTC
  • Revision ID: stacey@math.ntnu.no-20110605203405-aozimho6cnnyyx29
Started to split off soft path manipulation stuff in to a separate style file, also reimplementing the code a bit

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
\immediate\write18{tex pgf-blur.dtx}
2
 
\documentclass{article}
3
 
\usepackage{tikz}
4
 
 
5
 
\usetikzlibrary{calc}
6
 
\usetikzlibrary{shadows.blur}
7
 
\usetikzlibrary{shapes.symbols}
8
 
\usetikzlibrary{shapes.multipart}
9
 
\usetikzlibrary{matrix}
10
 
 
11
 
 
12
 
 
13
 
\pgfdeclareverticalshading{cornerfade}
14
 
   {100bp}{
15
 
     color(0bp)=(transparent!0);
16
 
     color(19bp)=(transparent!14);
17
 
     color(40.65bp)=(transparent!86); 
18
 
     color(81bp)=(transparent!14); 
19
 
     color(100bp)=(transparent!0)}
20
 
 
21
 
\begin{tikzfadingfrompicture}[name=fade triangle]
22
 
  \shade[shading=cornerfade,shading angle=225]
23
 
  (-1cm,-1cm) rectangle (1cm,1cm);
24
 
\end{tikzfadingfrompicture}
25
 
 
26
 
\tikzset{drawshine/.code={%
27
 
    \pgfpointanchor{current path bounding box}{south west}
28
 
    \pgfgetlastxy{\nodeminx}{\nodeminy}
29
 
    \pgfpointanchor{current path bounding box}{north east}
30
 
    \pgfgetlastxy{\nodemaxx}{\nodemaxy}
31
 
    \fill[white,rounded corners,
32
 
      path fading=fade triangle,
33
 
    ] 
34
 
     ($ (\nodeminx + 1pt,\nodemaxy - 1pt) $)
35
 
    -- ($ (0.3*\nodeminx + 0.7*\nodemaxx + 1pt, \nodemaxy - 1 pt) $)
36
 
    -- ($ (\nodeminx + 1pt, 0.3*\nodemaxy + 0.7*\nodeminy - 1pt) $)
37
 
    -- cycle;
38
 
  },
39
 
  shiny/.style={postaction={drawshine}},
40
 
}
41
 
 
42
 
 
43
 
 
44
 
\begin{document}
45
 
 
46
 
 
47
 
\begin{center}
48
 
  \begin{tikzpicture}
49
 
    
50
 
    \draw[help lines,step=0.5] (-1,-11) grid (14,5);
51
 
 
52
 
    \draw[thick,fill=white,blur shadow] (0,0) rectangle (5,4);
53
 
 
54
 
    \node[starburst,very thick,rounded corners=2pt,fill=white,draw=red,blur shadow] at (2.5,-4) 
55
 
         {\Huge\sffamily\bfseries SPLAT!};
56
 
         
57
 
    \draw[thick,fill=white] (10,2) ellipse (2.5 and 2);
58
 
\begin{scope}
59
 
    \clip (10,2) ellipse (2.5 and 2);
60
 
\path[blur shadow={shadow blur invert,shadow xshift=-2pt, shadow yshift=-3pt}] (10,2) ellipse (2.5 and 2);
61
 
\end{scope}
62
 
 
63
 
    %\node[cloud,shape aspect=2,draw=none,thick,fill=none,blur shadow] at (9.5,-4.2) {\Huge\phantom{Clouds!}};
64
 
    %\node[cloud,shape aspect=2,draw=none,thick,fill=none,blur shadow] at (10.4,-4.3) {\Huge\phantom{Clouds!}};
65
 
    %\node[cloud,shape aspect=2,draw,thick,fill=white,blur shadow] at (10,-4) {\Huge Clouds!};
66
 
    
67
 
 
68
 
    \node[blur shadow={shadow blur extra rounding},inner sep=0pt] at (10,-4) {
69
 
      \tikz\node[rectangle split, rectangle split parts=3, draw, fill=white, text width=2.75cm, inner sep=0.333em]
70
 
                {Student
71
 
                  \nodepart{two}
72
 
                  age: int \\
73
 
                  name: String
74
 
                  \nodepart{three}
75
 
                  getAge(): int \\
76
 
                  getName(): String};};
77
 
    
78
 
    \begin{scope}[xscale=0.04,yscale=-0.04,shift={(-244.0134,-185)}]
79
 
           \filldraw[fill=white,draw=black,blur shadow]
80
 
           (278.9821,433.2997) .. controls (277.0654,433.2997) and
81
 
           (275.3988,430.8414) .. (273.9821,425.9247) .. controls (273.4404,424.0497) and
82
 
           (272.7634,420.7684) .. (271.9509,416.0809) .. controls (269.8259,416.3726) and
83
 
           (267.0446,416.8935) .. (263.6071,417.6434) -- (255.2946,419.3622) .. controls
84
 
           (254.2530,422.0914) and (252.4717,426.0809) .. (249.9509,431.3309) .. controls
85
 
           (249.2842,432.4976) and (248.3780,433.0809) .. (247.2321,433.0809) .. controls
86
 
           (246.3988,433.0809) and (245.6488,432.7789) .. (244.9821,432.1747) .. controls
87
 
           (244.3363,431.5705) and (244.0134,430.8205) .. (244.0134,429.9247) .. controls
88
 
           (244.0134,428.9247) and (245.5863,425.1226) .. (248.7321,418.5184) .. controls
89
 
           (248.3780,417.9768) and (248.2009,417.3518) .. (248.2009,416.6434) .. controls
90
 
           (248.2009,414.9560) and (249.2217,413.8726) .. (251.2634,413.3934) .. controls
91
 
           (253.6384,408.9351) and (256.6384,403.8101) .. (260.2634,398.0184) .. controls
92
 
           (265.2009,390.1226) and (268.2738,386.1747) .. (269.4821,386.1747) .. controls
93
 
           (271.1279,386.1747) and (272.2529,387.3206) .. (272.8571,389.6122) --
94
 
           (274.8259,400.1122) -- (279.4821,421.8309) -- (281.2634,426.7684) .. controls
95
 
           (281.8675,428.4559) and (282.1696,429.5809) .. (282.1696,430.1434) .. controls
96
 
           (282.1696,431.0393) and (281.8467,431.7893) .. (281.2009,432.3934) .. controls
97
 
           (280.5550,432.9976) and (279.8154,433.2997) ..
98
 
           (278.9821,433.2997)(267.9509,397.5809) -- (259.0134,411.9872) .. controls
99
 
           (261.5342,411.3414) and (265.3571,410.5601) .. (270.4821,409.6434) --
100
 
           (267.9509,397.5809)
101
 
           (314.4821,431.1122) .. controls (309.7946,432.9455) and
102
 
           (303.8050,433.8622) .. (296.5134,433.8622) .. controls (295.6176,433.8622) and
103
 
           (294.7634,433.4351) .. (293.9509,432.5809) .. controls (293.1592,431.7476) and
104
 
           (292.7634,430.8830) .. (292.7634,429.9872) -- (292.7634,420.8934) .. controls
105
 
           (292.7634,417.9143) and (292.9509,413.6643) .. (293.3259,408.1434) .. controls
106
 
           (293.7426,402.1851) and (293.9717,397.8726) .. (294.0134,395.2059) .. controls
107
 
           (293.9926,393.2893) and (294.1071,390.4351) .. (294.3571,386.6434) .. controls
108
 
           (294.5030,385.6018) and (294.8467,384.9143) .. (295.3884,384.5809) .. controls
109
 
           (298.2217,383.7060) and (301.4405,383.2685) .. (305.0446,383.2684) .. controls
110
 
           (308.7113,383.2685) and (312.2321,384.5185) .. (315.6071,387.0184) .. controls
111
 
           (319.5029,389.8935) and (321.4509,393.4456) .. (321.4509,397.6747) .. controls
112
 
           (321.4509,403.0289) and (319.3675,407.2476) .. (315.2009,410.3309) .. controls
113
 
           (318.3259,411.6643) and (320.6592,413.1435) .. (322.2009,414.7684) .. controls
114
 
           (323.7634,416.3935) and (324.5446,418.1643) .. (324.5446,420.0809) .. controls
115
 
           (324.5446,422.6018) and (323.1800,425.0393) .. (320.4509,427.3934) .. controls
116
 
           (318.5550,429.0601) and (316.5654,430.2997) ..
117
 
           (314.4821,431.1122)(305.0446,389.6434) .. controls (302.7738,389.6435) and
118
 
           (301.1800,389.7164) .. (300.2634,389.8622) -- (300.2009,395.3309) --
119
 
           (299.5759,407.4247) .. controls (302.5342,407.6747) and (304.1175,407.7893) ..
120
 
           (304.3259,407.7684) .. controls (307.4717,407.5185) and (310.0446,406.5393) ..
121
 
           (312.0446,404.8309) .. controls (314.1904,402.9768) and (315.2634,400.5914) ..
122
 
           (315.2634,397.6747) .. controls (315.2634,395.6956) and (314.1696,393.8622) ..
123
 
           (311.9821,392.1747) .. controls (309.7946,390.4872) and (307.4821,389.6435) ..
124
 
           (305.0446,389.6434)(308.5446,414.6747) -- (305.2321,414.1434) .. controls
125
 
           (304.9613,414.1435) and (304.5446,414.1642) .. (303.9821,414.2059) .. controls
126
 
           (303.4405,414.2267) and (303.0238,414.2372) .. (302.7321,414.2371) .. controls
127
 
           (301.6071,414.2372) and (300.4092,414.1434) .. (299.1384,413.9559) .. controls
128
 
           (299.0134,416.5809) and (298.9509,418.9247) .. (298.9509,420.9871) --
129
 
           (298.9509,427.4559) .. controls (304.4092,427.2684) and (308.8571,426.4976) ..
130
 
           (312.2946,425.1434) .. controls (313.7529,424.5809) and (315.1488,423.7059) ..
131
 
           (316.4821,422.5184) .. controls (317.7529,421.4351) and (318.3884,420.6226) ..
132
 
           (318.3884,420.0809) .. controls (318.3884,419.1017) and (317.0550,417.9976) ..
133
 
           (314.3884,416.7684) .. controls (312.3884,415.8309) and (310.4405,415.1330) ..
134
 
           (308.5446,414.6746)
135
 
           (361.6696,397.2997) .. controls (360.3363,397.2997) and
136
 
           (359.3363,396.5185) .. (358.6696,394.9559) .. controls (358.0863,393.6226) and
137
 
           (357.5446,392.8101) .. (357.0446,392.5184) .. controls (356.6071,392.2893) and
138
 
           (355.5238,392.1747) .. (353.7946,392.1747) .. controls (350.7738,392.1747) and
139
 
           (347.4196,394.4872) .. (343.7321,399.1122) .. controls (338.7321,405.3205) and
140
 
           (336.2321,411.2060) .. (336.2321,416.7684) .. controls (336.2321,419.4560) and
141
 
           (337.0967,421.7684) .. (338.8259,423.7059) .. controls (340.5967,425.7059) and
142
 
           (342.7321,426.7059) .. (345.2321,426.7059) .. controls (347.3780,426.7059) and
143
 
           (349.5342,426.1539) .. (351.7009,425.0497) .. controls (352.9092,424.4247) and
144
 
           (354.7634,423.1955) .. (357.2634,421.3622) .. controls (358.4509,420.4872) and
145
 
           (359.3467,420.0497) .. (359.9509,420.0497) .. controls (360.8467,420.0497) and
146
 
           (361.5967,420.3934) .. (362.2009,421.0809) .. controls (362.8050,421.7476) and
147
 
           (363.1071,422.4976) .. (363.1071,423.3309) .. controls (363.1071,424.2684) and
148
 
           (362.7113,425.0914) .. (361.9196,425.7997) .. controls (356.4196,430.6747) and
149
 
           (350.8571,433.1122) .. (345.2321,433.1122) .. controls (340.9196,433.1122) and
150
 
           (337.2738,431.4559) .. (334.2946,428.1434) .. controls (331.4196,424.9351) and
151
 
           (329.9821,421.1434) .. (329.9821,416.7684) .. controls (329.9821,409.7060) and
152
 
           (332.9405,402.4664) .. (338.8571,395.0497) .. controls (343.7946,388.8622) and
153
 
           (348.7738,385.7685) .. (353.7946,385.7684) .. controls (354.8154,385.7685) and
154
 
           (355.7321,385.8205) .. (356.5446,385.9247) .. controls (357.3571,386.0081) and
155
 
           (358.0759,386.1539) .. (358.7009,386.3622) .. controls (359.4300,385.2997) and
156
 
           (360.3779,384.7685) .. (361.5446,384.7684) .. controls (362.9821,384.7685) and
157
 
           (363.8884,385.7164) .. (364.2634,387.6122) .. controls (364.5967,389.2997) and
158
 
           (364.7634,391.3726) .. (364.7634,393.8309) .. controls (364.7634,394.6851) and
159
 
           (364.5342,395.4351) .. (364.0759,396.0809) .. controls (363.5134,396.8935) and
160
 
           (362.7113,397.2997) .. (361.6696,397.2997);
161
 
         \end{scope}
162
 
 
163
 
         \node[inner sep=2ex,fill=orange!40,rounded corners,
164
 
           align=center,shiny,blur shadow]
165
 
         at (10,-9) {\Huge\sffamily\textbf{Nodes}\\[2ex]
166
 
           \Large\sffamily They don't \emph{have} to look boring!};
167
 
 
168
 
  \end{tikzpicture}
169
 
\end{center}
170
 
\clearpage
171
 
 
172
 
\begin{center}
173
 
\begin{tikzpicture}
174
 
  \Large
175
 
  \matrix [matrix of nodes,nodes={rectangle,thick,draw,fill=white,inner sep=1ex,
176
 
      blur shadow={shadow blur steps=5,shadow blur extra rounding}},
177
 
    column sep = 2cm, row sep=2cm] {
178
 
    A1 & A2 & A3 & A4 & A5 \\
179
 
    B1 & B2 & B3 & B4 & B5 \\
180
 
    C1 & C2 & C3 & C4 & C5 \\
181
 
    D1 & D2 & D3 & D4 & D5 \\
182
 
    F1 & F2 & F3 & F4 & F5 \\
183
 
  };
184
 
\end{tikzpicture}
185
 
\end{center}
186
 
 
187
 
\clearpage
188
 
 
189
 
\begin{center}
190
 
  \begin{tikzpicture}
191
 
    \node[draw=none,shade,
192
 
      top color=blue!40,
193
 
      bottom color=blue!5,
194
 
      rounded corners=6pt,
195
 
      blur shadow
196
 
    ] {\sffamily\bfseries\large A pretty box};
197
 
 
198
 
    \node[tape,draw=none,shade,
199
 
      top color=blue!40,
200
 
      bottom color=blue!5,
201
 
      rounded corners=1pt,
202
 
      blur shadow={shadow blur extra rounding=1.3pt}
203
 
    ] at (5,0){\sffamily\bfseries\large Another pretty box};
204
 
  \end{tikzpicture}
205
 
\end{center}
206
 
 
207
 
\end{document}
208
 
 
209
 
% Local Variables:
210
 
% tex-output-type: "pdf18"
211
 
% End:
 
 
b'\\ No newline at end of file'