Splash screen avec opacité variable

Description

Ce projet utilise uniquement les possibilités de VISUAL C# 2005 Express Edition,

La démo montre comment combiner une image en couleur et un masque en niveau de gris,
dans le but de créer un splash screen transparent avec effet de miroir.

Le code s'appuie sur la méthode GP.Alphablend qui se trouve dans la classe Gplus.cs.
Le principe est le même que l'API Win32 Alphablend de même nom, avec l'avantage d'être directement compatible avec GDI+.
La vitesse d'affichage résulte de l'utilisation de code unsafe qui permet de manipuler directement les pixels.

Comme le programme effectue une capture d'écran, il est préférable de faire le test en dehors de l'environnement, directement sur le bureau Windows.

L'intéret principal de ce code est sa compatibilité avec GDI+ qui permet d'utiliser GP.Alphablend directement avec
g.DrawImage(Mix, destRect, srceRect, GraphicsUnit.Pixel);
ce qui fait qu'en jouant sur les paramètres de la structure destRect on peut créer des effets intéressant tout en préservant le canal alpha même en cas de changement de taille.

Avec une modification mineure de GP.Alphablend on peut également imiter le fonctionnement de l'API TransparentBlt, ou encore créer des effets "sépia" en jouant sur les canaux R,V,B.

Conclusion :


Vous trouverez toutes mes démos sur www.zapsolution.com à partir du lien "C# corner"

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.