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:
Maintenant créons notre image:
ObjImage = imagesc(xg{:},nc);
Et enfin ajoutons la transparence sur l’image:
set(ObjImage,'alphaData',0.1)
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
Update 15 Janvier 2016 : corrigé en 15a SP1 !