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 :

Lire une image ECW avec Delphi


Sujet :

Delphi

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 19
    Points : 7
    Points
    7
    Par défaut Lire une image ECW avec Delphi
    Bonjour, je suis tout neuf ici et je cherche à interfacer le SDK-ECW de ERMapper avec Delphi. Est-ce que quelqu'un a des tuyaux ou désire collaborer?
    La SDK est écrite pour du C et je ne sais pas comment la transposer. Sans compter que pour l'accès aux dll, il va falloir utiliser la convention d'appel CDECL (enfin je cois)
    help please

  2. #2
    Membre régulier Avatar de Dirk-Pitt
    Inscrit en
    Juillet 2007
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Juillet 2007
    Messages : 71
    Points : 81
    Points
    81
    Par défaut
    Le cdecl ne doit pas poser de problème.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 19
    Points : 7
    Points
    7
    Par défaut
    Mon pb est que je na sais pas lire le C. Comment faire pour toute la partie déclaration ?

  4. #4
    Membre régulier Avatar de Dirk-Pitt
    Inscrit en
    Juillet 2007
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Juillet 2007
    Messages : 71
    Points : 81
    Points
    81
    Par défaut
    C'est gros ? Combien de .h ? Combien de lignes ?

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 19
    Points : 7
    Points
    7
    Par défaut
    J'ai 89 H de 5 ko chacun. Mais je ne veux que savoir lire le ecw. La sdk propose plein de fonctions qui touchent à l'écriture et je n"en ai pas besoin.
    Mais pour le coup, j'ai l'impression d'abuser...

  6. #6
    Membre régulier Avatar de Dirk-Pitt
    Inscrit en
    Juillet 2007
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Juillet 2007
    Messages : 71
    Points : 81
    Points
    81
    Par défaut
    89 bigre ! Jette un oeil ici http://delphi-jedi.org/api-howto.html et là http://www.drbob42.com/delphi/headconv.htm ces outils peuvent t'aider.

    Bon courage.

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 19
    Points : 7
    Points
    7
    Par défaut
    En fait je m'apprétais à accepter la traduction de un ou deux H pour prendre la suite moi-même, mais je viens de m'aperçevoir que j'ai des outils de traduction sur mon CD "companions tools".
    Merci de m'y avoir fait penser! je vais les essayer tout de suite...
    Je laisse la discussion ouverte pour l'instant, au cas ou...

  8. #8
    Membre régulier Avatar de Dirk-Pitt
    Inscrit en
    Juillet 2007
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Juillet 2007
    Messages : 71
    Points : 81
    Points
    81
    Par défaut
    Tu verras, les outil c'est bien mais il faut peaufiner à la main.

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 19
    Points : 7
    Points
    7
    Par défaut
    J'ai l'impression que mes outils font un peu n'importe quoi.
    Est-ce que quelqu'un peut me traduire ça en Delphi pour vérifier:
    Code C : 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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
     
    --------------------------------------------------------------------------
     
    #ifndef NCSARRAY_H
    #define NCSARRAY_H
     
    #ifdef __cplusplus
    extern "C" {
    #endif // __cplusplus
     
    #ifndef NCSMALLOC_H
    #include "NCSMalloc.h"
    #endif
     
    #define NCS_ARRAY_GRANULAR
     
    #ifdef NCS_ARRAY_GRANULAR
     
    #define NCS_ARRAY_GRANULARITY 16
     
    #define NCSArrayInsertElement(pArray, nElements, nIndex, pElement)    \
        if(nElements % NCS_ARRAY_GRANULARITY == 0) {            \
            void *pData = (void *)NCSRealloc((void *)(pArray),    \
                ((nElements) + NCS_ARRAY_GRANULARITY) *        \
                sizeof(*(pArray)),                \
                FALSE);                        \
            pArray = pData;                        \
        }                                \
        if((nIndex) < (nElements)) {                    \
            memmove(&((pArray)[(nIndex) + 1]),            \
                &((pArray)[(nIndex)]),                \
                ((nElements) - (nIndex)) * sizeof(*(pArray)));    \
        }                                \
        if(pElement) {                            \
            (pArray)[(nIndex)] = *(pElement);            \
        } else {                            \
            memset(&((pArray)[(nIndex)]), 0, sizeof(*pArray));    \
        }                                \
        (nElements) += 1
     
    #define NCSArrayAppendElement(pArray, nElements, pElement)        \
        NCSArrayInsertElement(pArray, nElements, nElements, pElement)
     
    #define NCSArrayRemoveElement(pArray, nElements, nIndex)        \
        if((nIndex) < (nElements) - 1) {                \
            memmove(&((pArray)[(nIndex)]),                \
                &((pArray)[(nIndex) + 1]),            \
                ((nElements) - (nIndex) - 1) * sizeof(*(pArray)));    \
        }                                \
        (nElements) -= 1;                        \
        if(nElements % NCS_ARRAY_GRANULARITY == 0) {            \
            if((nElements) > 0) {                    \
                void *pData = (void *)NCSRealloc((pArray),    \
                    (nElements) * sizeof(*(pArray)),    \
                    FALSE);                    \
                pArray = pData;                    \
            } else {                        \
                NCSFree((pArray));                \
                pArray = (void*)NULL;                \
            }                            \
        }
     
    #else /* NCS_ARRAY_GRANULAR */
     
    #define NCSArrayInsertElement(pArray, nElements, nIndex, pElement)    \
                    (pArray) = NCSRealloc((pArray),                                        \
                                          (nElements + 1) * sizeof(*(pArray)),            \
                                          TRUE);                                        \
                    if((nIndex) < (nElements)) {                                        \
                        memmove(&((pArray)[(nIndex) + 1]),                                \
                                &((pArray)[(nIndex)]),                                    \
                                ((nElements) - (nIndex)) * sizeof(*(pArray)));            \
                    }                                                                    \
                    if(pElement) {                                                        \
                        (pArray)[(nIndex)] = *(pElement);                                \
                    }                                                                    \
                    (nElements) += 1
     
    #define NCSArrayAppendElement(pArray, nElements, pElement)                            \
                    NCSArrayInsertElement(pArray, nElements, nElements, pElement)
     
    #define NCSArrayRemoveElement(pArray, nElements, nIndex)                            \
                    if((nIndex) < (nElements) - 1) {                                    \
                        memmove(&((pArray)[(nIndex)]),                                    \
                                &((pArray)[(nIndex) + 1]),                                \
                                ((nElements) - (nIndex) - 1) * sizeof(*(pArray)));        \
                    }                                                                    \
                    (nElements) -= 1;                                                    \
                    if((nElements) > 0) {                                                \
                        (pArray) = NCSRealloc((pArray),                                    \
                                              (nElements) * sizeof(*(pArray)),            \
                                              FALSE);                                    \
                    } else {                                                            \
                        NCSFree((pArray));                                                \
                        (pArray) = (void*)NULL;                                            \
                    }
     
    #endif /* NCS_ARRAY_GRANULAR */
     
    #ifdef __cplusplus
    }
    #endif
     
    #endif /* NCSARRAY_H */
     
    --------------------------------------------------------------------------

  10. #10
    Membre régulier Avatar de Dirk-Pitt
    Inscrit en
    Juillet 2007
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Juillet 2007
    Messages : 71
    Points : 81
    Points
    81
    Par défaut
    Ce sont des macros, il faut les transcrire en routines Delphi.

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 19
    Points : 7
    Points
    7
    Par défaut
    Est-ce que quelqu'un peut m'aider à le faire, car je n'y comprends que dale.

  12. #12
    Membre régulier Avatar de Dirk-Pitt
    Inscrit en
    Juillet 2007
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Juillet 2007
    Messages : 71
    Points : 81
    Points
    81
    Par défaut
    Ooops, ça va être coton sans se plonger dans la totalité, par exemple NCSMalloc.h ... Cela m'ennuie de te laisser dans la panade, mais je n'ai pas trop le temps là, désolé.

  13. #13
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 19
    Points : 7
    Points
    7
    Par défaut
    Bon, ben peut-être que quelqu'un d'autre qui connait le C et Dephi peut maider...
    C"est pour faire du freeware, et je n'ai donc pas un euro à dépenser sur le sujet...

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

Discussions similaires

  1. lire une image 3d avec opencv python
    Par khalil.mestiri dans le forum Programmation multimédia/Jeux
    Réponses: 13
    Dernier message: 13/02/2015, 19h58
  2. lire une image JPG avec imread
    Par wahidred dans le forum Images
    Réponses: 7
    Dernier message: 20/10/2011, 10h07
  3. lire une feuille excel avec delphi sans excel ?
    Par dragonno dans le forum Bases de données
    Réponses: 4
    Dernier message: 26/10/2010, 15h39
  4. Rafraîchir que l'image d'une page web avec Delphi
    Par cincap dans le forum Débuter
    Réponses: 3
    Dernier message: 29/06/2009, 09h10
  5. Lire une image Tiff en C/cpp avec Lib tiff
    Par syn_42 dans le forum MFC
    Réponses: 4
    Dernier message: 04/01/2006, 21h28

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