Freezsaver - screen saver qui "gele" l'ecrant

Soyez le premier à donner votre avis sur cette source.

Vue 6 225 fois - Téléchargée 343 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
Messages postés
55
Date d'inscription
lundi 15 septembre 2003
Statut
Membre
Dernière intervention
11 mai 2008

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)
Messages postés
17
Date d'inscription
jeudi 9 décembre 2004
Statut
Membre
Dernière intervention
20 février 2009

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.
Messages postés
55
Date d'inscription
lundi 15 septembre 2003
Statut
Membre
Dernière intervention
11 mai 2008

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 ;-)
Messages postés
389
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
17 décembre 2004
1
oups dsl j avait po vu le .scr :) lol
Messages postés
389
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
17 décembre 2004
1
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.