Transparence

Nous allons superposer une image et une ligne et ensuite nous allons mettre de la transparence sur cette image …
Comme d’hab l’idée c’est de donner des étapes de reproduction simple pour que vous puissiez vous aussi reproduire le bug. Ici 8 lignes de code suffisent.

Soit xg la cellule suivante :

xg{1} = linspace( 733607.122,733607.241,20);
xg{2} = linspace( 0,348,21);

et nc une matrice 21*20 :

nc = rand(21,20);

Créons notre ligne en rouge :

hold all
line(linspace(733607,733608,50),linspace(-50,400,50),'Color','r')

Ce qui affiche:

line

Maintenant créons notre image:

ObjImage = imagesc(xg{:},nc);

imagesc

Et enfin ajoutons la transparence sur l’image:

set(ObjImage,'alphaData',0.1)

transparence

Et donc comme vous pouvez le voir , le fait d’avoir rajouter de la transparence sur notre image a distordu notre ligne . J’ai tenté de switcher l’opengl entre hardware et software mais sans plus de résultat. Vu que j’ai besoin de faire de la transparence le renderer painters ou mettre la propriété drawmode des axes à fast ne me serviront pas ici.

A noter également je reproduis cette figure en R12Sp1 alors je me demande si c’est un bug ou pas?

A lire : Manipulating Transparency

Update 15 Juin 2011 : Ce bug existe toujours en R2010b , R2011a, R2011b Prerelease …
Update 9-Dec-2011 : bug encore reproductible en R2012a
Update 14-Sept-2012 : bug encore reproductible en R2012b
Update 17-Mars-2014 : bug encore reproductible en R2014a

Une réflexion au sujet de « Transparence »

Laisser un commentaire