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 VCL Delphi Discussion :

[XE7] Utilisation de BGRAbitmap avec Delphi


Sujet :

Composants VCL Delphi

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 38
    Points : 29
    Points
    29
    Par défaut [XE7] Utilisation de BGRAbitmap avec Delphi
    Bonjour,
    J'essaie d'utiliser BGRAbitmap avec Delphi XE7pro (VCL).
    J'ai récupéré le dépot BGRAbitmapDelphi sur GitHub.
    Faut-il installer les .dpk (ou autres) fournis ?

    Merci d'avance pour vos réponses.
    BDE78

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 754
    Points : 25 694
    Points
    25 694
    Par défaut
    Cela dépend le besoin,
    Pour faciliter l'utilisation des Controls de bgracontrols qui accompage BGRABitmap, l'installation du DPK permet l'ajout à la palette même si ce n'est pas indispensable si l'on fait une allocation en RunTime.

    Définir les chemins de bibliothèque sera la première chose à faire et puis lire le README.md ça serait bien !!!

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 38
    Points : 29
    Points
    29
    Par défaut
    Merci pour votre retour,

    J'ai bien lu le readme.md => pas d'indication sur l'installation/utilisation avec Delphi, et mes recherches sur les forums ne traitent que de l'utilisation avec Lazarus !

    Je ne compte l'utiliser qu'en runtime.

    j'ai intégré les 1ères déclarations d'unités dans le uses : BRGAbitmaptypes et BGRAbitmap, et compilé...
    il faut compiler en 32b et non pas en 64b !

    => y-a-t-il un moyen "simple et rapide" de rendre compatibles les routines de BRGAbitmap avec une compilation en 64b !

    BDE78

  4. #4
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 754
    Points : 25 694
    Points
    25 694
    Par défaut
    Rien que la vision d'assembleur annonce de mauvaise chose
    Pourquoi ne pas créer un petit programme 32Bits qui ne fait que la partie graphique via échange de ligne de commande, TCP IP, Fichiers ... utilisé par un programme 64Bits

    Sinon, le code contient de {$IFDEF CPU64} laissant à penser que c'est supporté.

  5. #5
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 848
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 848
    Points : 13 634
    Points
    13 634
    Par défaut
    Pourquoi n'utilises-tu pas Direct2D plutôt ?

    C'était déjà présent dans XE7.

  6. #6
    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 : 55
    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 466
    Points
    28 466
    Par défaut
    euh je ne vois pas de CPU64 dans le code https://github.com/bgrabitmap/BGRABi...search?q=CPU64

    les Bitmaps sont 32Bits, mais ça n'a rien à voir avec la CPU

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 38
    Points : 29
    Points
    29
    Par défaut
    @andnotor : j'ai besoin de gérer la transparence, de dessiner des "textes inclinés",...

    @shailLeTroll et @Paul Toth :
    Quand je compile en 64b :
    1ère erreur : [dcc64 Erreur] FPReadJPEG.pas(381): E1012 L'expression constante dépasse les limites de sous-étendue
    sur la ligne "FInfo.output_scanline := $ffffff;" déclarer en "cardinal" !
    et quand je "force brutalement" "FInfo.output_scanline := $ffff;"
    ça génère des erreurs sur les parties "assembleur" des fonctions !!!

    c'est mal parti...

  8. #8
    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 : 55
    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 466
    Points
    28 466
    Par défaut
    FPReadJPEG ne fait pas parti de BGRABitmap, c'est pour ça

    sinon j'ai publié un code pour faire des rotations de bitmap
    https://github.com/tothpaul/DelphiTi...ster/DrawCards

    et pour la transparence tu as DrawTransparentBitmap dans l'unité Vcl.GraphUtil

  9. #9
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 848
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 848
    Points : 13 634
    Points
    13 634
    Par défaut
    Citation Envoyé par BDE78 Voir le message
    j'ai besoin de gérer la transparence, de dessiner des "textes inclinés",...
    On s'en doutait un peu

    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
    33
    uses Vcl.Direct2D, WinApi.D2D1;
     
    procedure TForm1.FormPaint(Sender: TObject);
    var
      D2DCanvas :TDirect2DCanvas;
      Brush     :ID2D1SolidColorBrush;
      Matrix    :TD2DMatrix3x2F;
      i         :Integer;
    begin
      D2DCanvas := TDirect2DCanvas.Create(Canvas, ClientRect);
     
      try
        D2DCanvas.BeginDraw;
     
        D2DCanvas.RenderTarget.CreateSolidColorBrush(D2D1ColorF(clRed, 0.2), nil, Brush);
     
        Matrix := TD2DMatrix3X2F.Rotation(-30, 250, 250);
        D2DCanvas.RenderTarget.SetTransform(Matrix);
        D2DCanvas.TextOut(150, 200, 'Andnotor');
     
        for i := 1 to 4 do
        begin
          Matrix := TD2DMatrix3X2F.Rotation(i *10, 250, 250);
          D2DCanvas.RenderTarget.SetTransform(Matrix);
          D2DCanvas.RenderTarget.FillRectangle(D2D1RectF(100, 100, 400, 400), Brush);
        end;
     
        D2DCanvas.EndDraw;
     
      finally
        D2DCanvas.Free;
      end;
    end;
    Nom : 2022-10-02 08_20_27-Form4.jpg
Affichages : 289
Taille : 19,2 Ko

  10. #10
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 754
    Points : 25 694
    Points
    25 694
    Par défaut
    Citation Envoyé par Paul TOTH Voir le message
    euh je ne vois pas de CPU64 dans le code https://github.com/bgrabitmap/BGRABi...search?q=CPU64

    les Bitmaps sont 32Bits, mais ça n'a rien à voir avec la CPU
    C'est bon à savoir que la recherche ne fonctionne pas : https://github.com/bgrabitmap/BGRABi.../bgratypes.pas, ligne 74 pour la version non FPC

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 38
    Points : 29
    Points
    29
    Par défaut
    Bonjour,

    Merci pour vos retours.
    Y-a plus qu'à...

    BDE78

  12. #12
    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 : 55
    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 466
    Points
    28 466
    Par défaut
    Citation Envoyé par ShaiLeTroll Voir le message
    C'est bon à savoir que la recherche ne fonctionne pas : https://github.com/bgrabitmap/BGRABi.../bgratypes.pas, ligne 74 pour la version non FPC
    ah punaise ! je n'avais pas lu le message en grand et en gras

    Sorry, forked repositories are not currently searchable.

  13. #13
    Membre confirmé

    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 140
    Points : 623
    Points
    623
    Par défaut
    Bonjour,

    BGRABitmap à la base fonctionne avec les CPU 64bit mais en ce qui concerne du portage pour Delphi, je ne sais pas ce qu'il en est. En tout cas il date de 4 ans. N'ayant pas Delphi moi-même, je n'ai pas essayé de rendre la base de code compatible avec Delphi, même si j'imagine qu'on pourrait arriver à quelque chose avec des directives.

    C'est cool qu'on puisse utiliser Direct2D comme ça dans Delphi.

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

Discussions similaires

  1. [ utilisation du gomme avec Delphi]
    Par GHAZEL Taoufik dans le forum Imagerie
    Réponses: 0
    Dernier message: 28/12/2009, 18h41
  2. Conseil sur l'utilisation de postgreSQL avec Delphi 2007
    Par QAYS dans le forum Bases de données
    Réponses: 3
    Dernier message: 14/10/2008, 11h11
  3. Utilisation d'OutLook avec Delphi
    Par Charly910 dans le forum Delphi
    Réponses: 12
    Dernier message: 21/06/2007, 13h32

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