Page 1 sur 1

Comment obtenir une transparence progressive?

Posté : ven. 13 juin 2014, 10:02
par dohtreb
Bonjour,

Voici un problème simple dont je ne parviens pas à trouver la solution. Je veux réaliser ceci:
fig.png
fig.png (25.01 Kio) Vu 9529 fois
Le gradient a une transparence progressive. Voici un code qui ne marche pas:

Code : Tout sélectionner

import patterns;
add("hatch",hatch(H=5mm,dir=SW,2bp+black));
fill(unitsquare,pattern("hatch"));
pen[][] shade1=new pen[][]{{white+opacity(0)},{red+opacity(1)},{white+opacity(0)}};
pen[][] shade2=new pen[][]{{white},{red},{white}};
latticeshade(unitsquare,shade2);
size(5cm);
Avec shade1, il n'y a pas de gradient; avec shade2, il n'y a pas de transparence.

Une idée?

[Mac OS 10.8.5; asymptote 2.23; TeXLive 2013]

Re: Comment obtenir une transparence progressive?

Posté : sam. 14 juin 2014, 09:45
par GM
Bonjour,

c'est une bonne question.
C'est ce que je dis quand je n'ai pas de réponse. :D

Et si tu mettais la transparences sur les hachures ?

Figure asymptote f6338ccfa635d5d106ca5d07a2d40ee5
*** Pour masquer/découvrir le code Asymptote qui a permis de créer la figure, il faut cliquer dessus. ;-) ***

CODE ASYMPTOTE de la figure ci-dessus : Tout sélectionner
  1. settings.tex="pdflatex";
  2. import patterns;
  3. size(5cm);
  4. add("hatch",hatch(H=5mm,dir=SW,2bp+black));
  5. pen[][] shade=new pen[][]{{white},{red},{white}};
  6. latticeshade(unitsquare,shade);
  7. fill(unitsquare,pattern("hatch")+opacity(0.5));

Re: Comment obtenir une transparence progressive?

Posté : mar. 17 juin 2014, 12:34
par dohtreb
J'aurais dû être plus précis dans ma demande. L'image ne correspond pas en fait à ce que je veux faire, mais donne un exemple minimal pour poser le problème. En pratique, j'ai un poster A0 avec un fond structuré (imposé et non modifiable, symbolisé par les hachures dans l'exemple), sur lequel apparaissent des figures avec des gradients de couleur. Comme le fond n'est pas blanc, il ne faut pas que ces gradients convergent vers du blanc, mais vers du transparent.

Donc la solution proposée ne m'aide pas dans ce cas. Merci beaucoup d'avoir essayé, et désolé du temps perdu.

Pour la figure d'illustration, ne pouvant pas la réaliser en asymptote, j'ai procédé en plusieurs étapes:
(1) hachures -> 1.png
(2) gradient blanc-rouge-blanc -> 2.png
(3) gradient blanc-noir-blanc -> 3.png
(4) insérer 3.png comme couche alpha dans 2.png -> 4.png
(5) coller 4.png au-dessus de 1.png