<HTML><FONT FACE=arial,helvetica><HTML><FONT  SIZE=2 PTSIZE=10 FAMILY="SANSSERIF" FACE="Arial" LANG="1">Hi Jan,<BR>
<BR>
Dans un e-mail daté du 14/07/2005 22:39:38 Paris, Madrid (heure d'été), me@jansteffan.de a écrit :<BR>
<BR>
&gt;The benefit of this approach would be that it works with older viewer, too <BR>
&gt;which don't support transparency (new viewers like kpdf don't either).<BR>
&gt;The flip side that it only works for simple graphics. You'll never be able<BR>
&gt;to layer a transparent surface over a bitmap and dealing with more than two<BR>
&gt;or three overlapping shapes in a generic way is probably nontrivial.<BR>
<BR>
I think that for a good programmer knowing PostScript well, there is nothing impossible.&nbsp; It is not my case.&nbsp; <BR>
By doing oneself the decoration with PSTricks, here some examples of transparency.&nbsp; <BR>
<BR>
http://melusine.eu.org/syracuse/mluque/arthurcolors/arthurcolors.html<BR>
http://melusine.eu.org/syracuse/mluque/Venise/saint_marc42/saint_marc42.html<BR>
<BR>
Here a particularly effective command written by Denis Girou.<BR>
<BR>
<BR>
\documentclass{article}<BR>
<BR>
\usepackage{arrayjob}<BR>
\usepackage[width=19cm,height=28cm]{geometry}<BR>
\usepackage{multido}<BR>
%\usepackage{pstcol}<BR>
\usepackage{pstricks}<BR>
\usepackage{pst-char}<BR>
% Manuel Luque<BR>
% Denis Girou<BR>
\input{random} % Donald Arseneau<BR>
<BR>
\setlength{\parindent}{0pt}<BR>
<BR>
\DeclareFixedFont{\Sf}{T1}{phv}{b}{n}{4cm}<BR>
\DeclareFixedFont{\Rm}{T1}{ptm}{m}{n}{4cm}<BR>
<BR>
\newarray\colorCyan<BR>
\newarray\colorMagenta<BR>
\newarray\colorYellow<BR>
<BR>
\expandarrayelementtrue<BR>
<BR>
\psset{dimen=middle}<BR>
<BR>
\makeatletter<BR>
<BR>
\def\GraphicBackground(#1,#2){%<BR>
% #1 = horizontal size, #2 = vertical size<BR>
\multido{\iLineMOne=\z@+\@ne,\iLine=\@ne+\@ne}{#1}{%<BR>
&nbsp; \multido{\iColumnMOne=\z@+\@ne,\iColumn=\@ne+\@ne}{#2}{%<BR>
&nbsp;&nbsp;&nbsp; \setrandim{\pst@dima}{\z@}{0.4pt}%<BR>
&nbsp;&nbsp;&nbsp; \global\colorCyan(\iLine,\iColumn)={\pointless\pst@dima}<BR>
&nbsp;&nbsp;&nbsp; \setrandim{\pst@dimb}{\z@}{0.4pt}%<BR>
&nbsp;&nbsp;&nbsp; \global\colorMagenta(\iLine,\iColumn)={\pointless\pst@dimb}<BR>
&nbsp;&nbsp;&nbsp; \setrandim{\pst@dimc}{\z@}{0.4pt}%<BR>
&nbsp;&nbsp;&nbsp; \global\colorYellow(\iLine,\iColumn)={\pointless\pst@dimc}<BR>
&nbsp;&nbsp;&nbsp; \definecolor{MyColor}{cmyk}%<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {\pointless\pst@dima,\pointless\pst@dimb,\pointless\pst@dimc,0}%<BR>
&nbsp;&nbsp;&nbsp; \psframe[fillstyle=solid,fillcolor=MyColor,linestyle=none]<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (\iLineMOne,\iColumnMOne)(\iLine,\iColumn)}}}<BR>
<BR>
\def\GraphicTransparent(#1,#2,#3)(#4,#5){%<BR>
% #1, #2, #3 = cyan, magenta and yellow components of the color filter,<BR>
% #4, #5 = horizontal and vertical indices<BR>
\multido{\iLineMOne=\z@+\@ne,\iLine=\@ne+\@ne}{#4}{%<BR>
&nbsp; \multido{\iColumnMOne=\z@+\@ne,\iColumn=\@ne+\@ne}{#5}{%<BR>
&nbsp;&nbsp;&nbsp; \checkcolorCyan(\iLine,\iColumn)%<BR>
&nbsp;&nbsp;&nbsp; \pst@dima\cachedata pt<BR>
&nbsp;&nbsp;&nbsp; \advance\pst@dima by #1pt<BR>
&nbsp;&nbsp;&nbsp; \ifdim\pst@dima&gt;\@ne pt\pst@dima=\@ne pt\fi<BR>
&nbsp;&nbsp;&nbsp; \checkcolorMagenta(\iLine,\iColumn)%<BR>
&nbsp;&nbsp;&nbsp; \pst@dimb=\cachedata pt<BR>
&nbsp;&nbsp;&nbsp; \advance\pst@dimb by #2pt<BR>
&nbsp;&nbsp;&nbsp; \ifdim\pst@dimb&gt;\@ne pt\pst@dimb=\@ne pt\fi<BR>
&nbsp;&nbsp;&nbsp; \checkcolorYellow(\iLine,\iColumn)%<BR>
&nbsp;&nbsp;&nbsp; \pst@dimc=\cachedata pt<BR>
&nbsp;&nbsp;&nbsp; \advance\pst@dimc by #3pt<BR>
&nbsp;&nbsp;&nbsp; \ifdim\pst@dimc&gt;\@ne pt\pst@dimc=\@ne pt\fi<BR>
&nbsp;&nbsp;&nbsp; \definecolor{MyColor}{cmyk}%<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {\pointless\pst@dima,\pointless\pst@dimb,\pointless\pst@dimc,0}%<BR>
&nbsp;&nbsp;&nbsp; \psframe[linestyle=none,fillstyle=solid,fillcolor=MyColor]<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (\iLineMOne,\iColumnMOne)(\iLine,\iColumn)}}}<BR>
<BR>
\def\TextTransparent(#1,#2,#3)(#4,#5)#6{%<BR>
% #1, #2, #3 = cyan, magenta and yellow components of the color filter,<BR>
% #4, #5 = horizontal and vertical indices,<BR>
% #6 = text<BR>
\checkcolorCyan(#4,#5)%<BR>
\pst@dima\cachedata pt<BR>
\advance\pst@dima by #1pt<BR>
\ifdim\pst@dima&gt;\@ne pt\pst@dima=\@ne pt\fi<BR>
\checkcolorMagenta(#4,#5)%<BR>
\pst@dimb=\cachedata pt<BR>
\advance\pst@dimb by #2pt<BR>
\ifdim\pst@dimb&gt;\@ne pt\pst@dimb=\@ne pt\fi<BR>
\checkcolorYellow(#4,#5)%<BR>
\pst@dimc=\cachedata pt<BR>
\advance\pst@dimc by #3pt<BR>
\ifdim\pst@dimc&gt;\@ne pt\pst@dimc=\@ne pt\fi<BR>
\definecolor{MyColor}{cmyk}%<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {\pointless\pst@dima,\pointless\pst@dimb,\pointless\pst@dimc,0}%<BR>
#6}<BR>
<BR>
\def\TestGraphic(#1,#2,#3)(#4,#5)#6#7{%<BR>
% #1, #2, #3 = cyan, magenta and yellow components of the color filter,<BR>
% #4 = horizontal size, #5 = vertical size, #6 = random seed, #7 = graphic<BR>
\definecolor{ColorFilter}{cmyk}{#1,#2,#3,0}%<BR>
\dataheight=#4\relax<BR>
\pspicture(#4,#5)<BR>
&nbsp; \psset{linestyle=none,fillstyle=solid,fillcolor=ColorFilter}%<BR>
&nbsp; #7<BR>
\endpspicture<BR>
\hskip 1cm<BR>
\pspicture(#4,#5)<BR>
&nbsp; \randomi=#6\relax<BR>
&nbsp; \GraphicBackground(#4,#5)%<BR>
\endpspicture<BR>
\hskip 1cm<BR>
\pspicture(#4,#5)<BR>
&nbsp; \randomi=#6\relax<BR>
&nbsp; \GraphicBackground(#4,#5)%<BR>
&nbsp; \psclip{\pscustom[linestyle=none]{#7}}<BR>
&nbsp;&nbsp;&nbsp; \GraphicTransparent(#1,#2,#3)(#4,#5)%<BR>
&nbsp; \endpsclip<BR>
\endpspicture}<BR>
<BR>
\def\TestText(#1,#2,#3)(#4,#5)#6#7{%<BR>
% #1, #2, #3 = cyan, magenta and yellow components of the color filter,<BR>
% #4 = horizontal size, #5 = vertical size, #6 = random seed, #7 = text<BR>
\definecolor{ColorFilter}{cmyk}{#1,#2,#3,0}%<BR>
\dataheight=#4\relax<BR>
\pspicture(#4,#5)<BR>
&nbsp; \randomi=#6\relax<BR>
&nbsp; \GraphicBackground(#4,#5)%<BR>
\endpspicture<BR>
\hskip 1cm<BR>
\pspicture(#4,#5)<BR>
&nbsp; \randomi=#6\relax<BR>
&nbsp; \GraphicBackground(#4,#5)%<BR>
&nbsp; \multido{\iLineMOne=\z@+\@ne,\iLine=\@ne+\@ne}{#4}{%<BR>
&nbsp;&nbsp;&nbsp; \multido{\iColumnMOne=\z@+\@ne,\iColumn=\@ne+\@ne}{#5}{%<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \psclip{\psframe[linestyle=none]<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (\iLineMOne,\iColumnMOne)(\iLine,\iColumn)}<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \TextTransparent(#1,#2,#3)(\iLine,\iColumn)%<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {\rput(0,0){%<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \pscharpath[linestyle=none,<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fillstyle=solid,fillcolor=MyColor]{#7}}}<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \endpsclip}}<BR>
\endpspicture}<BR>
<BR>
\makeatother<BR>
<BR>
\begin{document}<BR>
<BR>
\TestGraphic(0.8,0.1,0.1)(5,5){574214204}{\pscircle(2.5,2.5){1.75}}<BR>
<BR>
\vspace{1cm}<BR>
\TestText(0.8,0.1,0.1)(8,6){574214204}{\rput[lb]{37}(2,-0.5){\Sf TeX}}<BR>
<BR>
\vspace{1cm}<BR>
\TestGraphic(0,0.5,0.4)(5,5){2568792}{\pscurve(0.5,1)(2.5,4.5)(4.5,2)(2,0.5)}<BR>
<BR>
\vspace{1cm}<BR>
\TestText(0.2,0.4,0.2)(9,6){2568792}<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {\rput[lb](0.5,0.5){\scalebox{0.75 1.8}{\Rm LaTeX}}}<BR>
<BR>
\end{document}<BR>
<BR>
%%%%%%%%%%%%%%%%%%%%%%%%<BR>
<BR>
Manuel<BR>
<BR>
<BR>
<BR>
<BR>
</FONT></HTML>