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

Composants FMX Delphi Discussion :

Firemonkey (Delphi XE2) exemple basique ne tournant pas


Sujet :

Composants FMX Delphi

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 72
    Points : 74
    Points
    74
    Par défaut Firemonkey (Delphi XE2) exemple basique ne tournant pas
    Bonjour,

    J'ai suivi de prés un des exemples de base de l'aide Firemonkey, mais je n'ai aucun affichage d'image dans mon cas. Quelqu'un a une idée?

    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
    procedure TForm2.Button1Click(Sender: TObject);
    var SrcRect, DstRect : TRectF;
    begin
      SrcRect := TRectF.Create(0, 0, Bitmap.Width, Bitmap.Height);
      DstRect := TRectF.Create(0, 0, Bitmap.Width div 2, Bitmap.Height div 2);
      Image1.Bitmap.Canvas.DrawBitmap(Bitmap, SrcRect, DstRect, 150);
      Image1.Bitmap.BitmapChanged;
    end;
     
    procedure TForm2.FormCreate(Sender: TObject);
    begin
      Image1.Bitmap.Create(400, 400);
      Image1.Bitmap.Clear(clawhite);
     
      Bitmap := TBitmap.Create(250, 250);
      Bitmap.LoadFromFile('candle.png');
    end;
     
    procedure TForm2.FormDestroy(Sender: TObject);
    begin
      Bitmap.Free;
    end;

  2. #2
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 858
    Points : 11 301
    Points
    11 301
    Billets dans le blog
    6
    Par défaut
    juste un souvenir : ça ne serait pas plutôt ce style de code ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Image1.Picture.Graphic:=TBitmap.Create
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 72
    Points : 74
    Points
    74
    Par défaut
    Pas dans ce cas, c'est spécifique à Firemonkey. Image1 est un compo déjà créé sur la fiche, je n'ai fais que reprendre le code exemple:

    http://docwiki.embarcadero.com/CodeE...s_%28Delphi%29

  4. #4
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 445
    Points
    28 445
    Par défaut
    le Image1.Bitmap.Create(100,100) est ok, c'est juste un appel au constructor d'un objet créé pour le réinitialiser

    Par contre je ne sais pas où sont définis les clXXX, ceux de Vcl.Graphics ne sont pas bon, le canal alpha est à 0 et le résultat est transparent

    utilise $FF0000FF pour bleu par exemple

    EDIT:
    oups je n'avais pas vu que tu utilisais claWhite
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 72
    Points : 74
    Points
    74
    Par défaut
    ce n'est pas le soucis, vu que sans initialiser en blanc, je n'ai toujours pas d'affichage.

    L'équivalent des cl etc. de la VCL mais en firemonkey commence par cla etc.

    D'ailleurs, petite note pas trés rassurante, l'exemple officiel d'Embarcadero (que je donne en lien) ne peut compiler, car justement il est fait mention de clwhite dans l'exemple, alors qu'il faut utiliser clawhite (a = alpha bien sur!), ca ne fait pas trés sérieux...

    Ce qui ne fait pas trés sérieux est également le fait de la disette en information sur Firemonkey... Embarcardero sort un nouveau Delphi, avec en gros feature Firemonkey, mais l'aide en ligne est trés incomplète (avec des phrases 'il n'y a pas d'infos supps sur ce sujet) quand vous regardez les fonctions et membres des compo Firemonkey! Cette indigence est d'ailleurs je trouve assez incompréhensible sur la version trial... ca ne donne pas une bonne image du produit, et puis... les ptits gars qui ont passés des milliers d'heures à créer Firemonkey, ils ne pouvaient pas en mettre 50 de plus pour un manuel super complet?

  6. #6
    Membre émérite
    Avatar de Thierry Laborde
    Homme Profil pro
    N/A
    Inscrit en
    Avril 2002
    Messages
    1 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : N/A

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 391
    Points : 2 529
    Points
    2 529
    Par défaut
    Bonjour,

    Voila le code qui fonctionne :

    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
    procedure TForm2.Button1Click(Sender: TObject);
    var SrcRect, DstRect : TRectF;
    begin
      SrcRect := TRectF.Create(0, 0, Bitmap.Width, Bitmap.Height);
      DstRect := TRectF.Create(0, 0, Bitmap.Width div 2, Bitmap.Height div 2);
      Image1.Bitmap.Canvas.BeginScene;
      Image1.Bitmap.Canvas.DrawBitmap(Bitmap, SrcRect, DstRect, 150);
      Image1.Bitmap.Canvas.EndScene;
      Image1.Bitmap.BitmapChanged;
    end;
    
    procedure TForm2.FormCreate(Sender: TObject);
    begin
      Image1.Bitmap.Create(400, 400);
      Image1.Bitmap.Clear(clawhite);
    
      Bitmap := TBitmap.Create(250, 250);
      Bitmap.LoadFromFile('candle.png');
    end;
    
    procedure TForm2.FormDestroy(Sender: TObject);
    begin
      Bitmap.Free;
    end;

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 72
    Points : 74
    Points
    74
    Par défaut
    Oui en effet, cela tourne ainsi, grand merci!

    Le code exemple fourni ici
    http://docwiki.embarcadero.com/CodeE...s_%28Delphi%29

    est il exact du coup?

    Avez vous connaissance d'un manuel détailé autre que

    http://docwiki.embarcadero.com/RADSt...ation_Platform

    (qui n'est pas assez détaillé à mon gout)

    pour développer en FireMonkey?

  8. #8
    Membre émérite
    Avatar de Thierry Laborde
    Homme Profil pro
    N/A
    Inscrit en
    Avril 2002
    Messages
    1 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : N/A

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 391
    Points : 2 529
    Points
    2 529
    Par défaut
    Citation Envoyé par Pocus Voir le message
    Le code exemple fourni ici
    http://docwiki.embarcadero.com/CodeE...s_%28Delphi%29

    est il exact du coup?
    En effet il n'est pas correct. Car il est basé sur une version de Firemonkey qui n'est plus d'actualité. Cela avait été précisé mais la page n'a pas dut être mise à jour.

    Citation Envoyé par Pocus Voir le message
    Avez vous connaissance d'un manuel détailé autre que

    http://docwiki.embarcadero.com/RADSt...ation_Platform

    (qui n'est pas assez détaillé à mon gout)

    pour développer en FireMonkey?
    Différents documents sont en cours d'écriture. J'espère que cela ne va pas trop tarder.

Discussions similaires

  1. Firemonkey (Delphi XE2) Application.ExeName
    Par Pocus dans le forum Composants FMX
    Réponses: 4
    Dernier message: 26/04/2019, 16h30
  2. [Delphi XE2]. Problème debug pas à pas
    Par lejert dans le forum EDI
    Réponses: 4
    Dernier message: 07/08/2013, 14h45
  3. Exemple basique de code pour un programme Delphi
    Par Roland Chastain dans le forum Débuter
    Réponses: 6
    Dernier message: 27/04/2012, 22h46
  4. Delphi XE2 FireMonkey : impression ?
    Par Invité dans le forum Débuter
    Réponses: 6
    Dernier message: 12/04/2012, 12h19
  5. Réponses: 4
    Dernier message: 28/09/2011, 21h48

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