Splash screen avec opacité variable

Soyez le premier à donner votre avis sur cette source.

Vue 13 239 fois - Téléchargée 1 662 fois

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

Ajouter un commentaire Commentaires
Messages postés
16
Date d'inscription
jeudi 18 octobre 2007
Statut
Membre
Dernière intervention
29 juillet 2008

peut t'on utiliser une png tout simplement?? (a ce que je croit le png integre les deux bitmaps que vous aviez mis grace a l'entrelacer ...)
Messages postés
475
Date d'inscription
jeudi 19 juin 2003
Statut
Membre
Dernière intervention
3 novembre 2008
1
nice, toi aussi t'aimes le porsche cayman S

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.