Freezsaver - screen saver qui "gele" l'ecrant

Soyez le premier à donner votre avis sur cette source.

Vue 6 293 fois - Téléchargée 380 fois

Description

Pour plus d'info voir sur mon site:
http://mignonsoft.free.fr/logiciel/FreezSaver/index.htm

L'agorithme general est assez simple:
1) prendre un point au hasard
2) prendre la couleur de ce point ainssi que le point l'entourant
3) faire la moyenne de toute ces couleur
4) appliqer a tout ces meme point la couleur moyenne

Source / Exemple :


En imaginant disposer de class CPoint et CRGB (dont on comprendra intuitivement de comportement  )

for (int i=0;i<nbLoop;i++)
{
   // etape 1
   CPoint ptC,ptG,ptD,ptH,ptB;
   ptC.x=rnd()%xScreen;
   ptC.y=rnd()%yScreen;
   ptG=ptD=ptH=ptB=ptC;
   ptG.x--;
   ptD.x=++;
   ptH.y=--;
   ptB.y=++;

   // etape 2
  CRGB rgbC = ptC.GetRGB();
  CRGB rgbG = ptG.GetRGB();
  CRGB rgbD = ptD.GetRGB();
  CRGB rgbH = ptH.GetRGB();
  CRGB rgbB = ptB.GetRGB();

  // etape 3
  CRGB moyenne;
  moyenne.x=(rgbC.x+rgbG.x+rgbbD.x+rgbH.x+rgbB.x)/5.0;
  moyenne.y=(rgbC.y+rgbG.y+rgbbD.y+rgbH.y+rgbB.y)/5.0;

  // etape 4
  ptC.SetRGB(moyenne);
  ptG.SetRGB(moyenne);
  ptD.SetRGB(moyenne);
  ptB.SetRGB(moyenne);
  ptH.SetRGB(moyenne);
}

Conclusion :


cf.: http://mignonsoft.free.fr/logiciel/FreezSaver/index.htm

Codes Sources

A voir également

Ajouter un commentaire Commentaires
basted Messages postés 55 Date d'inscription lundi 15 septembre 2003 Statut Membre Dernière intervention 11 mai 2008
16 janv. 2006 à 14:21
Merci, et je suis content que ca puissent re-servire.

Si le sujet t'interesse j'ai aussi fait une version OpenGL qui resemble un peut (avec plein d'effet 3D)
http://www.cppfrance.com/code.aspx?ID=19650

(Au niveau objet je suis bien d'accord avec toi c'est vraiement fait a l'arrache)
gaspos Messages postés 17 Date d'inscription jeudi 9 décembre 2004 Statut Membre Dernière intervention 20 février 2009
16 janv. 2006 à 13:39
Je cherchais un petit exemple de screen saver simple à reprendre et à modifier à ma sauce. Celui-ci est vraiment très bien, simple et clair (pas très orienté objet, avec des variables globles un peu partout, mais bon...) et en plus les effets sont vraiement sympas !
Merci à Sebastien Bloc, que je ne manquerais pas citer si mon bout de code est rendu publique.
basted Messages postés 55 Date d'inscription lundi 15 septembre 2003 Statut Membre Dernière intervention 11 mai 2008
7 janv. 2004 à 10:24
Le fichier "winternl.h" fait normalement partie de ton path des include de visual studio que soit la v6.0 ou .NET (par contre elle est liée a ta plateforme car elle est liée a NTDLL.DLL)

Pour MAJ de tes API tu peut utiliser le site MS "SDK update": http://www.microsoft.com/msdownload/platformsdk/sdkupdate/
(sinon si tu a VS6.0 tu a bien mis le SP5 ?, si pb sur .NET v2002 ou 2003?)

Voila ! En tout cas: que votre ecrant "freezer" soit avec vous ;-)
morgandetoi06 Messages postés 389 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 17 décembre 2004 1
6 janv. 2004 à 21:56
oups dsl j avait po vu le .scr :) lol
morgandetoi06 Messages postés 389 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 17 décembre 2004 1
6 janv. 2004 à 21:55
y manque le fichier winternl.h ?
si tu pouvait mettre un exe dans le zip ça serait bien stp

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.