2009-01-16 9 views
0

Le code suivant fonctionne correctement lorsque j'ai une image dans IE6 que je veux rendre transparente.Images transparentes dynamiques utilisant AlphaImageLoader dans IE6

<img src="image.png" style="width: 100px; height: 100px; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='image.png', sizingMethod='scale')" />

Cependant, le fait de suivre pas. Dans cet exemple, j'utilise un fichier PNG généré dynamiquement.

Je suppose que son parce que le filtre ne sait pas que l'image est en fait un PNG

<img src="/dynimg/createImg.aspx?id=123" style="width: 100px; height: 100px; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='dynimg/createImg.aspx?id=123', sizingMethod='scale')" />

est-il un autre moyen d'appliquer le « filtre » et le forcer à supposer que mon image est actaully un PNG.

Remarque: Le fichier image.png dans la situation non dynamique a été généré par ma page dynamique aspx - il n'y a donc aucun problème avec l'image dynamique créée.

+0

Les en-têtes HTTP de l'image dyn png sont-ils correctement définis? – scunliffe

+0

Il semble que vous supposiez que le filtre utilise l'extension de nom de fichier pour déterminer que le fichier est un png? Si c'est ce que le filtre fait vraiment, vous pourriez ne pas avoir de chance. Essayez de changer l'extension du fichier png dans votre premier exemple et voyez ce qui se passe. – DMKing

Répondre

0

Il s'avère que lorsque vous utilisez un contrôle IMG, l'image IMG.src est affichée au-dessus de l'image filtrée (qui est la transparente).

J'ai fait l'hypothèse que les travaux ci-dessus, quand en fait ce n'est pas le cas. Je me suis trompé en pensant que ça marchait à cause de la séquence de choses que j'avais faites.

Peu importe si c'est dynamique ou non.

Questions connexes