Noir et blanc

Résolu
cs_MAsterC Messages postés 217 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 19 décembre 2012 - 4 oct. 2004 à 05:02
Loulibier Messages postés 309 Date d'inscription jeudi 6 juin 2002 Statut Membre Dernière intervention 24 septembre 2008 - 4 oct. 2004 à 23:11
Salut à tous!

Je voudrai savoir si vous avez une petite idée sur quoi Windows XP fait pour mettre le background en noir et blanc, sauf la form active..

(Exemple: La Form "Fermer la session" ou "Arrêter l'Ordinateur")

Merci d'avance!

:) MAsterC ;)
Site Internet!

N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient ! ;)

6 réponses

Loulibier Messages postés 309 Date d'inscription jeudi 6 juin 2002 Statut Membre Dernière intervention 24 septembre 2008 2
4 oct. 2004 à 23:11
salut,

Voici une méthode qui te permettra de faire ce que tu désires.
Le code provient de Fobec pour la capture d'écran.

procedure NB( BmpSource, BmpDest : tbitmap );
var
  addrSource,addrDest:pointer;
  npix,heure,lim:dword;
  cr,cv,cb:byte;
  mR,mV,mB:word;
begin
  addrsource:=bmpSource.ScanLine[bmpSource.height-1];
  addrDest:=bmpDest.ScanLine[bmpSource.height-1];
  npix:=bmpSource.height*bmpSource.width;
  asm
    push edi
    push esi
    mov  eax,npix;shl eax,2;add eax,addrsource  //l'assembleur permet d'utiliser de la même facon des pointeurs et des doubles-mots
    mov  lim,eax                                //lim=addrbmp+4*npix
    mov  edi,addrsource                         //edi stock l'addresse du pixel source en cours
    mov  esi,addrDest                           //esi stock l'addresse du pixel destination en cours
    @b1:
    mov  edx,dword [edi]                       //edx:8*0 8*r 8*v 8*b
    xor  eax,eax;xor ecx,ecx;mov al,dl;mov cl,dh
    add  ax,cx;shr edx,16;xor cx,cx;mov cl,dl
    add  ax,cx                                 //ax=cr+cv+cb
    xor  edx,edx;mov ecx,3;idiv ecx            //cnb=round((cr+cv+cb)/3) moyenne des trois composantes
    mov  dl,al;shl edx,16;mov dl,al;mov dh,al

    mov  dword [esi],edx                       //edx:8*0 8*cnb 8*cnb 8*cnb
    add  edi,4;add esi,4                       //saut de 32 bit, pixel suivant
    cmp  edi,lim                               //boucle jusqu'à edi=lim
    jne  @b1
    pop  esi
    pop  edi
  end;
end;

procedure TForm1.Button3Click(Sender: TObject);
var
  Wici: hdc;
  bitmap : TBitmap;
begin
  DoubleBuffered := True; 
  bitmap := TBitmap.Create;
  bitmap.PixelFormat := pf32bit;
  bitmap.Height := screen.Height;
  bitmap.Width := screen.width;

  form1.hide;
  image1.autosize := false;

  sleep(500);

  Wici := GetDesktopWindow; //donne le handle de l'écran
  BitBlt(bitmap.Canvas.handle, 0, 0, screen.width, screen.Height,
  getdc(wici), 0, 0, srcCopy);//copie l'écran vers image1
  ReleaseDC(0, Wici);  //libère

  NB(bitmap,bitmap);

  Image1.Picture.Bitmap.Assign(bitmap);

  form1.show;

  image1.autosize := true;
  bitmap.Free;
end;


Bonne Prog,

Olivier
3
jobtunisieyasser Messages postés 123 Date d'inscription lundi 6 septembre 2004 Statut Membre Dernière intervention 23 mars 2007
4 oct. 2004 à 10:13
je ne peut pas répondre à question
attend moi un peu pour que j'envoie un mail à mon ami Bill G.
Bon si vous voulez le faire Le Delphi j'ai peut être une idée...

Form.hide
Tu fait un print ecran(delphi)
y en a des composants qui traitent les images(j'en ai déja utiliser)
tu dégrade l'image vers le noir(Le tous n'est pas aussi évident bien sûre )

Si vous me suivez toujours
Le résultat sera comme ceci :

Une form en plein ecran avec bordure 0
qui prend pour image votre print écran
Cette image va se dégrader tous en gardant votre 2éme fenêtre en modale.

Conclusion :
Ce que j'aimerais bien vous faire savoir c'est que ce n'est qu'un jeux d'image
et non pas une option sur les fenêtres de windows se trouvant dans une DLL par Exemple (des illusions)
hihiihihii
va te faire des cours de magie alors :big)

et lorsque tu pose une question
n'oublie surtous pas d'enlever votre signature en bas :

:-p :-p :-p :-p :-p :-p :-p :-p :-p :-p :-p :-p :-p :-p
:-p :-p :-p :-p :-p :-p :-p :-p :-p :-p :-p :-p :-p :-p
:-p :-p :-p :-p :-p :-p :-p :-p :-p :-p :-p :-p :-p :-p
:-p :-p :-p :-p :-p :-p :-p :-p :-p :-p :-p :-p :-p :-p
:-p :-p :-p :-p :-p :-p :-p :-p :-p :-p :-p :-p :-p :-p
:-p :-p :-p :-p :-p :-p :-p :-p :-p :-p :-p :-p :-p :-p
:-p :-p :-p :-p :-p :-p :-p :-p :-p :-p :-p :-p :-p :-p
:-p :-p :-p :-p :-p :-p :-p :-p :-p :-p :-p :-p :-p :-p
:-p :-p :-p :-p :-p :-p :-p :-p :-p :-p :-p :-p :-p :-p
:-p :-p :-p :-p :-p :-p :-p :-p :-p :-p :-p :-p :-p :-p
:-p :-p :-p :-p :-p :-p :-p :-p :-p :-p :-p :-p :-p :-p

@_______=-Jobtunisie-=_______@
|..................NOURON ALA NOUR.......................|
0
jobtunisieyasser Messages postés 123 Date d'inscription lundi 6 septembre 2004 Statut Membre Dernière intervention 23 mars 2007
4 oct. 2004 à 10:20
j'ai oublier un truc

N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient !
Merci

hihihihihiiiiiiiiiiiiiiiiiiiiiiiii
hihihihihiiiiiiiiiiiiiiiiiiiiiiiii
hihihihihiiiiiiiiiiiiiiiiiiiiiiiii
@_______=-Jobtunisie-=_______@
|..................NOURON ALA NOUR.......................|
0
cs_MAsterC Messages postés 217 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 19 décembre 2012
4 oct. 2004 à 15:39
Merci pareille...... !

:) MAsterC ;)
Visitez notre site!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jobtunisieyasser Messages postés 123 Date d'inscription lundi 6 septembre 2004 Statut Membre Dernière intervention 23 mars 2007
4 oct. 2004 à 16:00
j'ai oublier de te dire que si tu clique sur demarrer-> arrêter
Tu trouvera l'horloge figé ainsi que les gifs .....
ce qui montre que ce n'est qu'une image traité en plus tu ne peut pas bouger la fenêtre modale :)
@_______=-Jobtunisie-=_______@
|..................NOURON ALA NOUR.......................|
0
cs_MAsterC Messages postés 217 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 19 décembre 2012
4 oct. 2004 à 20:15
Hummm.. je vois!

Fallait quand même y penser!
Maintenant avec un TImage, peut-on faire un dégradé comme l'effet de Windows... qui passe de la couleur au Noir et Blanc.

Merci à toi!

:) MAsterC ;)
Visitez notre site!
0
Rejoignez-nous