IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi Discussion :

Problème d'affichage de l'avatar de Session Windows


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 21
    Par défaut Problème d'affichage de l'avatar de Session Windows
    Bonjour à tous !
    Voilà mon problème : je voudrais afficher dans un TImage l'avatar de la session windows en cours, qui se trouve à l'adresse :
    C:\Documents and Settings\All Users\Application Data\Microsoft\User Account Pictures\[username].bmp

    Le problème se situe au niveau de l'affichage des couleurs :
    Au lieu de ca :

    Delphi m'affiche ca :


    Une petite idée ?

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 21
    Par défaut
    up ?

  3. #3
    Membre Expert
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    Mai 2002
    Messages
    2 704
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 704
    Par défaut
    Citation Envoyé par wezzar
    Une petite idée ?
    aucune.
    Tu n'as pas d'autres infos ...
    L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai. :bug: ___ "http://club.developpez.com/regles/#LIII-A"Écrivez dans un français correct !!

    C++Builder 5 - Delphi 6#2 Entreprise - Delphi 2007 Entreprise - Delphi 2010 Architecte - Delphi XE Entreprise - Delphi XE7 Entreprise - Delphi 10 Entreprise - Delphi 10.4.2 Entreprise - Delphi 11.3 Entreprise - Visual studio 2022
    OpenGL 2.1 - Oracle 10g - Paradox - Interbase (XE) - PostgreSQL (15.7)

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 21
    Par défaut
    Ben nan, à part que je pense très fortement que c'est la manipulation de Windows, lorsqu'il enregistre l'avatar au format bmp, qui est la cause du problème. J'ai le problème même en changeant d'avatar, vous pouvez essayer chez vous aussi d'ailleurs.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 21
    Par défaut
    J'ai beau essayer avec d'autres composants d'affichage d'image sur le net, le problème persiste !
    N'y a-t-il pas une api ou quelque chose du genre pour que ce soit Windows qui affiche l'image ?

  6. #6
    Membre Expert

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 296
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2002
    Messages : 1 296
    Par défaut
    Si on ouvre l'image et qu'on l'enregistre (sous de préférence) (avec paint par exemple), on a le même problème que le tien.

    Donc je pense c'est c'est un format un peu spécial utilisé pour ces bitmap.

  7. #7
    Membre éclairé

    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 085
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 085
    Par défaut
    D'après quelques tests, ça à l'air d'être du png et non du bmp. Essaie de le charger avec un compo ou lib prenant en charge le format png.

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 21
    Par défaut
    J'ai essayé avec le composant pngimage, mais j'ai le meme progblème.
    La signature du fichier est "BM@", alors qu'un bmp lisible par Delphi est "BM8".
    Je n'ai pas réussi à trouver des informations sur le BM@ sur Internet, le connaissez-vous ?

  9. #9
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 154
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 154
    Par défaut
    Salut !

    J'ai bien regardé tes images, et comme ces derniers temps j'ai lu d'un oeil à gauche à droite des articles sur les modifications d'images, je me suis demandé s'il n'y avait pas bêtement une erreur de codage et que le fichier définisse du bleu quand il devrait y avoir du rouge...

    Auquel cas un simple traitement sur le fichier devrait suffire, style
    BVR > Traitement > RVB

    C'est juste une hypothèse mais moi je tenterais ça, juste pour voir (mais je sais pas faire).
    Mes 2 cts;
    --
    jp

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 36
    Par défaut
    Hello

    Il semble que Jipété ai une partie de la réponse, mais je penche plus pour :
    BRV > Traitement > RVB
    De plus, il semble que les 4 dernières colonnes soit en premier. Bizarre Microsoft.
    Voila un code qui fonctionne chez moi.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    procedure TForm1.Button3Click(Sender: TObject);
    var
      i, j : integer;
      inew : integer;
      R, G, B : byte;
      Couleur : Tcolor;
      BmpTemp : TBitmap;
    begin
      Image1.Picture.LoadFromFile('C:\Documents and Settings\All Users\Application Data\Microsoft\User Account Pictures\Stephane.bmp');
      BmpTemp := TBitmap.Create;
      try
        BmpTemp.Width := Image1.Picture.Bitmap.Width;
        BmpTemp.Height := Image1.Picture.Bitmap.Height;
     
        for i := 0 to Image1.Picture.Bitmap.Width - 1 do
          for j := 0 to Image1.Picture.Bitmap.Height - 1 do
          begin
            Couleur := Image1.Picture.Bitmap.Canvas.Pixels[i,j];
            R := GetRValue( ColorToRGB(couleur));
            G := GetGValue( ColorToRGB(couleur));
            B := GetBValue( ColorToRGB(couleur));
            inew := i - 3;
            if inew < 0 then
              inew := inew + BmpTemp.Width;
            BmpTemp.Canvas.Pixels[inew,j] := RGB(B,R,G);
          end;
     
        Image1.Picture.Bitmap.Assign(BmpTemp);
      finally
        BmpTemp.Free;
      end;
    end;
    Birdyz

  11. #11
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 154
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 154
    Par défaut
    Yep !
    Voila un code qui fonctionne chez moi.
    Tu veux dire que ça transforme l'image bleue en image rouge telle qu'attendue ?

    Ben alors j'ai tout à fait raison !
    Parce que j'ai écrit "BVR" sans savoir exactement comment l'image est codée en interne (ch'suis pas pro de TGraphics !), mais c'était l'idée qui comptait; et toi tu l'as pigée !
    Attendons donc le "Résolu" de wezzar !
    --
    jp

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 35
    Dernier message: 25/11/2010, 17h20
  2. Problème d'affichage avec rich:modal et session timeOut
    Par anthony22 dans le forum Développement Web en Java
    Réponses: 0
    Dernier message: 24/11/2010, 15h44
  3. [Kylix] problème d'affichage
    Par scalvi dans le forum EDI
    Réponses: 1
    Dernier message: 18/06/2003, 10h07
  4. Réponses: 1
    Dernier message: 06/03/2003, 11h57
  5. probléme d'affichage d'une fiche
    Par sb dans le forum Composants VCL
    Réponses: 7
    Dernier message: 29/08/2002, 09h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo