Comment obtenir une transparence progressive?

Pour toute demande d'aide sur des exemples non finalisés, c'est ici.
Les exemples aboutis et intéressants seront ajoutés aux sous-forums qui suivent.

Règles du forum
Pour toute demande d'aide pour la conception (ou la confirmation d'un code) d'une figure Asymptote, c'est ici.

J'invite ceux qui ont régulièrement des questions à poser à aller dans leur panneau de l'utilisateur pour indiquer dans la signature de leurs messages :

  1. Nom du système d'exploitation (W7 ou Ubuntu 12.04 ou ...)
  2. Version d'Asymptote et éditeur utilisé pour les figures Asymptote
  3. Distribution LaTeX et éditeur utilisé pour les tex.


On va gagner du temps dans les réponses !
dohtreb
Messages : 8
Enregistré le : jeu. 3 mai 2012, 12:00

Comment obtenir une transparence progressive?

Message non lu par dohtreb » ven. 13 juin 2014, 10:02

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 9405 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]
[Mac OS 10.8.5; asymptote 2.23; TeXLive 2013]

Avatar du membre
GM
Administrateur du site
Administrateur du site
Messages : 1512
Enregistré le : dim. 7 mars 2010, 14:50

Re: Comment obtenir une transparence progressive?

Message non lu par GM » sam. 14 juin 2014, 09:45

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));
Index des fonctions - Exemple de lien donnant le résultat d'une recherche sur les mots 'arc' et 'triple' : http://asy.marris.fr/indexasy/?filtre=arc triple
Mes configurations (le 24/02/21) :
PC n°1 :Windows 10 - Asymptote(2.82)+MikTeX2.9 - Editeurs : Notepad++, TeXworks, Visual Studio Code.
PC n°2 : Ubuntu 20.04LTS - Asymptote(2.67-?? git) + TexLive2020
Mon serveur : Debian Stretch- Asymptote(2.68-16 git) + TexLive2018
Merci de préciser la votre !

dohtreb
Messages : 8
Enregistré le : jeu. 3 mai 2012, 12:00

Re: Comment obtenir une transparence progressive?

Message non lu par dohtreb » mar. 17 juin 2014, 12:34

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
[Mac OS 10.8.5; asymptote 2.23; TeXLive 2013]

Répondre