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 :

Quel est le meilleur moyen d'avoir des Timages en éventail ?


Sujet :

Delphi

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    893
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 893
    Par défaut Quel est le meilleur moyen d'avoir des Timages en éventail ?
    bonjour

    je voulais à la base poster dans "composant" mais je me suis dis, qu'un tel composant ne devrait pas exister

    alors ce que je veux faire : c'est trouver un moyen d'afficher des Timages en éventail sur la fiche (ou de les positionner de manière oblique)

    j'aimerais faire un programme qui simule un tour de magie avec des cartes, et donc je trouve plus design de positionner les Timages ainsi

    merci d'avance

  2. #2
    Expert éminent
    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
    Par défaut
    TImage n'est pas adapté pour cela

    Graphics32 peut faire des rotations sur des images

    DirectX, OpenGL aussi évidemment...voir Direct2D
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  3. #3
    Membre Expert
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    Mai 2002
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Âge : 44
    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 688
    Par défaut
    Citation Envoyé par Paul TOTH Voir le message
    voir Direct2D
    Direct2D est disponible que dans Delphi XE ?
    L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai. :bug: ___ É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
    OpenGL 2.1 - Oracle 10g - Paradox - Interbase (XE) - PostgreSQL (15.7)

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

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 868
    Par défaut
    Sans unité supplémentaire, il y a aussi SetWorldTransform.

  5. #5
    Expert éminent
    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
    Par défaut
    Citation Envoyé par Andnotor Voir le message
    Sans unité supplémentaire, il y a aussi SetWorldTransform.
    Excellent, je ne connaissais pas

    il y a un exemple sur phidels
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

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

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 868
    Par défaut

  7. #7
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Par défaut

    Citation Envoyé par Lung Voir le message
    Direct2D est disponible que dans Delphi XE ?
    c'est à partir de D2010 que les unités Direct2D sont incluses dans delphi

  8. #8
    Membre émérite Avatar de chaplin
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 215
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 215
    Par défaut
    Citation Envoyé par Coussati Voir le message
    je voulais à la base poster dans "composant" mais je me suis dis, qu'un tel composant ne devrait pas exister
    La suite de composants KSDEV permet de le faire, c'est extraordinaire.

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    893
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 893
    Par défaut
    merci à tous d'avoir participer au poste !

    dsl de n'avoir pas répondu tout de suite, j'étais un peu occupé

    je n'ai pas encore effectué tous les testes, mais je comptais déjà donner quelques résultats :

    j'ai commencé par la solution de Andnotor, avec SetWorldTransform, l'image tourne bien, mais les espaces vides sont noir, j'ai pensé à la transparence, puis après réflexion, ça n'ira pas, car le Timage reste "debout" et lorsque je vais les mettre un a côté de l'autre ça n'ira pas lors du clic

    résultat : il faut un composant, qui affichera une image et qui pourra être affiché en oblique / inclinaison sur la fiche


    ensuite j'ai regardé la solution proposé par Paul TOTH avec OpenGL, depuis un tuto sur developpez, j'ai trouvé assez compliqué pour le peu que je cherche à faire; et là encore, je pense que je pourrai qu'afficher l'image sans pour autant gérer le clic

    d'après ce que j'ai lu, Graphics32 fera qu'afficher l'image encliné

    j'ai regardé les composants KSDEV proposé par chaplin, mais j'ai vu que c'est payant


    donc voilà je me demande si un composant du type Timage existe avec la particularité d'être placé sur la fiche de manière oblique ou incliné

    sinon je pense installer les compo Graphics32 pour voir ce que je peux faire vu qu'il gère le png, ce sera déjà quelque chose; mais mon soucis majeur c'est d'avoir une zone cliquable alors que c'est du "vide"

  10. #10
    Expert éminent
    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
    Par défaut
    alors, outre les calculs mathématiques permettant de déterminer si un point (x,y) se trouve dans un rectangle ayant subit une rotation donnée, il existe une technique bête et méchante très simple à mettre en oeuvre pour détecter la carte sous la souris

    dans une bitmap de la taille de l'écran tu dessines des rectangles à la position de tes cartes en les remplissant uniformément d'une couleur propre à chaque carte. Il ne reste plus alors qu'à regarder la couleur du pixel en X, Y de ce bitmap pour savoir sur quelle carte se trouve à cet endroit
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  11. #11
    Membre très actif
    Homme Profil pro
    Santé
    Inscrit en
    Septembre 2010
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Santé
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2010
    Messages : 290
    Par défaut
    Salut,

    Pour détecter le clic, tu peux aussi utiliser le canal alpha des images en pf32bit. Tu peux ainsi gérer jusque 256 cartes différentes, ce qui doit être suffisant dans ton cas.

    Pour ce qui est des rotations, il faut savoir que c'est très gournand en calculs. Il faut donc optimiser au max pour obtenir une bonne fluidité des animations.
    Perso, bien que n'y connaissant rien, je n'hésite pas à faire appel à l'assembleur (l'Optimisateur suprême!), et j'utilise souvent l'algo de Josh Code.

  12. #12
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Par défaut
    Bonjour,

    Merci Caribensila : super rapide cet algo de Josh Code.
    ... et en plus : gratuit et plein de commentaires.

    A+.
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  13. #13
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    893
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 893
    Par défaut
    oulah ! ça fait du travail !

    j'ai regardé un peu la source, c'est impressionnant ! c'est de quelque chose dans ce genre que tu parlais PAUL non ?

    à vrai dire, plus je réfléchis, et plus je me dis qu'un conteneur d'image ne peux pas exister de manière incliné (vu qu'on a des coordonnées entières left et top seulement), il faut travailler sur le dessin ...

    je vais essayer de partir de cette source pour essayer de réussir

  14. #14
    Membre très actif
    Homme Profil pro
    Santé
    Inscrit en
    Septembre 2010
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Santé
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2010
    Messages : 290
    Par défaut
    Citation Envoyé par Coussati Voir le message
    oulah ! ça fait du travail !
    T'inquiète ! C'est le CPU qui fait tout le boulot.

  15. #15
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    893
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 893
    Par défaut
    Citation Envoyé par Caribensila Voir le message
    T'inquiète ! C'est le CPU qui fait tout le boulot.

Discussions similaires

  1. Réponses: 0
    Dernier message: 18/12/2010, 15h47
  2. [Débutant] Quel est le meilleur moyen pour gérer des documents dans CRM ?
    Par patsai dans le forum Microsoft Dynamics CRM
    Réponses: 1
    Dernier message: 04/06/2010, 23h22
  3. Réponses: 2
    Dernier message: 04/06/2009, 15h34
  4. Générer des IHM : quel est le meilleur moyen/outil
    Par Giovanny Temgoua dans le forum Interfaces Graphiques en Java
    Réponses: 5
    Dernier message: 02/08/2007, 22h57
  5. [MySQL] Quel est le meilleur moyen de stocker une date/heure ?
    Par MiJack dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 31/07/2004, 13h19

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