J'affiche un PNG avec un arrière-plan transparent qui semble bien dans Windows 7, mais ensuite j'exécute mon application en mode XP ou bureau à distance sur une machine Windows XP et le PNG semble incorrect. J'ai remarqué que si je désactive « Mode intégration » ou d'exécuter l'application sur XP sans bureau à distance, l'image semble bien.DrawImage en mode XP ou Remote Desktop
Comment puis-je obtenir DrawImage pour rendre correctement le PNG en mode XP ou bureau à distance?
image à l'intérieur de Windows 7
alt text http://www.freeimagehosting.net/uploads/957bb6ea8b.png
image à l'intérieur bureau XP Mode ou à distance
alt text http://www.freeimagehosting.net/uploads/08f1fbec46.png
Voici mon code:
protected override void OnPaint(PaintEventArgs e)
{
Image image = Image.FromFile("hello.png", false);
Bitmap bmp = new Bitmap(image);
Rectangle destRect = new Rectangle(0, 0, image.Width, image.Height);
e.Graphics.DrawImage(image, destRect, 0, 0, image.Width, image.Height, GraphicsUnit.Pixel);
base.OnPaint(e);
}
Si je charge et afficher la même image en utilisant un contrôle PictureBox, il semble bien en mode XP, même si mon DrawImage ne fonctionne pas. Il semble donc que il doit y avoir un moyen d'obtenir DrawImage de rendre correctement malgré qu'il soit 16 bits. – simplecoder
@simplecoder, en utilisant un contrôle PictureBox convertit la transparence à l'arrière-plan du contrôle et élimine le mélange alpha qui doit se produire. –