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

VBScript Discussion :

Traitement d'image en VB


Sujet :

VBScript

  1. #1
    Membre actif
    Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2006
    Messages
    240
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2006
    Messages : 240
    Points : 275
    Points
    275
    Par défaut Traitement d'image en VB
    Bonjour,

    J'aimerais simplement savoir comment scinder une image en 16 bout...

    en gros j'ai une image de 96 par 92 et je voudrais la scinder en image de 24 par 23...

    Je suis pas expert en vb.

    Merci d'avance.
    J'suis loin d'être un expert, seulement un passionné.
    L'humanité de l'homme ne reside que dans son intelligence. Certains l'on compris. D'autres ne le comprendront jamais... (Histrat)

  2. #2
    Membre expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Points : 3 685
    Points
    3 685
    Par défaut
    Est-ce du VB6 ou du VB.Net ?
    De quel type est l'image ? BMP ? JPG ? Autre ?
    Pour VB6 : N'oubliez pas d'aller voir la FAQ et les Tutoriels
    Vous trouvez une reponse particulierement utile ? Votez pour !

  3. #3
    Membre actif
    Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2006
    Messages
    240
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2006
    Messages : 240
    Points : 275
    Points
    275
    Par défaut
    pour le format de l'image cela peut être du BMP ou PNG
    en fait il s'agit d'un VB de chez HP plus proche de VB6 ...
    il s'agit d'une programmation sur QTP (quick test professionnal) c'est un outil permettant d'éffectuer des test via la programmation d'un ROBOT. dans le cas present il faut que je récupére une image qui correspond a la concaténation de plusieur image... (un clavier avec des touches)

    et que je sache la position de chacune des images dans la grandes images ... Je sais pas si j'ai été clair ...

    Mon idée était d'utiliser une API windows ... enfin si vous en connaissez une

    en gros :
    voila le clavier :
    Nom : Clavier.png
Affichages : 747
Taille : 7,0 Ko
    et je voudrais récuperer chacune des touches ... j'ai les images de chaque chiffre séparement mais l'ordre est aléatoire ...
    J'suis loin d'être un expert, seulement un passionné.
    L'humanité de l'homme ne reside que dans son intelligence. Certains l'on compris. D'autres ne le comprendront jamais... (Histrat)

  4. #4
    Membre expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Points : 3 685
    Points
    3 685
    Par défaut
    Tu trouveras sur Google entre autre la description du format BMP (de méoire il y a un entête je crois et ensuite les pixels sont écrits dans l'ordre inverse, ligne par ligne en commençant par la dernière), pour le PNG, j'ai jamais essayé.
    Pour VB6 : N'oubliez pas d'aller voir la FAQ et les Tutoriels
    Vous trouvez une reponse particulierement utile ? Votez pour !

  5. #5
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 535
    Points
    5 535
    Par défaut
    Bonjour,

    Lorsque tu écris

    il s'agit d'un VB de chez HP plus proche de VB6 ...
    En es-tu certain ?

    Si oui (et pas finalement plus proche de VBA et non de VB6) :
    sous VB6, tu as à ta disposition le contrôle PictureClip ...
    Je ne crois pas (j'en suis même certain) qu'un tel contrôle soit disponible sous VBA, par exemple ...
    En disposes-tu ?
    Deuxième question : disposes-tu de contrôles PictureBox (qui disposent de hdc) ou uniquement de contrôles Image (sans hdc) ?

    si tu ne disposes pas de contrôles dotés de hdc, je vois mal ce que tu pourrais faire, dès lors que la disposition des touches de ton "clavier" n'est pas toujours la même ...

  6. #6
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Travailles tu sous Quality Center (TestDirector) ?
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  7. #7
    Membre actif
    Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2006
    Messages
    240
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2006
    Messages : 240
    Points : 275
    Points
    275
    Par défaut
    bon je vois que le sujet a fais foule ... J'en suis bien content

    Pour situer ma position : Je suis expert en matiére QC et je viens de passer une petite formation sur QTP ... Mon but étant de devenir Expert... mais bon une peu de mal...

    Bon je reprend en fait aprés des heures passé sur le soft il s'agit de VBscript ... donc pas pictureclip (j'ai trouver quelque article la dessus)

    donc voila aprés mes recherches j'ai supossé qu'il fallait que je me tourne vers l'API windows et j'ai déjà commencer a coder mais bon j'ai une erreur sur la derniére ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    SourcePic = LoadPicture("c:\Clavier.bmp")
    DestPic =LoadPicture("c:\Clavier2.bmp")
    SourcePic
    RasterOp = &HCC0020
     
    'Declare FindWindow method 
     
    Extern.Declare micHwnd, "FindWindow", "user32.dll", "FindWindowA", micString, micString 
    Extern.Declare MicLong,"BitBltP","gdi32.dll","BitBlt",micHwnd, micLong, micLong, micLong, micLong, micHwnd, micLong, micLong, micWord 
     
    Extern.BitBltP DestPic,24,23,24,23,SourcePic,0,0,RasterOp
    J'suis loin d'être un expert, seulement un passionné.
    L'humanité de l'homme ne reside que dans son intelligence. Certains l'on compris. D'autres ne le comprendront jamais... (Histrat)

  8. #8
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Bon je reprend en fait aprés des heures passé sur le soft il s'agit de VBscript
    Oui avec le confirmation que tu m'as donné c'est ce que j'allais te dire.
    Je n'ai jamais rien vu d'autre sur QC.

    Envoyé par ced600
    Travailles tu sous Quality Center (TestDirector) ?
    Test director... ce nom me dit quelque-chose....
    Oui TestDirector est un outil permettant de créer des plans de tests, d'exécuter des tests, et de conserver le résultats des tests. Il a aussi d'autre fonctionnalité.
    Actuellement je travaille sur Quality Center, qui est un pack plus important contenant TestDirector. D'ailleurs je ne sais pas si ce dernier est disponible séparément.
    Quality Center te permet d'installer un serveur pour gérer TestDirector, du moins sur ce que j'en ai compris.
    Je suis d'en une entreprise qui a installé ce serveur, je ne fais qu'utiliser TestDirector et ses API pour le piloter.

    Je ne connais pas QTP personnellement (je ne fais qu'utiliser des test VAPI-XP-Test), mais ne possède t il pas des classes pour gérer les images ?
    Forum sur Quality Center -> il y a une zone sur les tests utilisant QTP, peut être trouveras tu ton bohneur dans les API qu'il offre (s'il en offre).

    Mais sinon en VBS cela doit être possible mais je en sais pas comment.

    Et sinon c'est quoi l'erreur que tu as ?
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  9. #9
    Membre actif
    Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2006
    Messages
    240
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2006
    Messages : 240
    Points : 275
    Points
    275
    Par défaut
    tu ne peux avoir Quality center sans TD ... enfait QC est une evolution de TD ...

    Pour ce qui est de QTP c'est outil de test auto qui peut directement interargir avec QC ... je m'explique :

    Tu as un cas de test que tu as en manuel... et bien tu peu trés bien te connecter a QC grâce a QTP et rajouter une couche auto ...

    Lors de l'exe d'un scenario, si tout tes cas ont été créer en auto .. ton scenario le devient aussi ...

    Bon revennons a nos moutons :

    voila le message :

    Argument ou appel de procédure incorrect :'Extern.BitBtp'
    J'suis loin d'être un expert, seulement un passionné.
    L'humanité de l'homme ne reside que dans son intelligence. Certains l'on compris. D'autres ne le comprendront jamais... (Histrat)

  10. #10
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    tu ne peux avoir Quality center sans TD
    En fait je pensais l'inverse, TD sans QC.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Extern.Declare micHwnd, "FindWindow", "user32.dll", "FindWindowA", micString, micString
    Je pense que c'est faux, j'aurais plutot fait un truc dnas le genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" (micString, micString, ...)
    Tiens je te donne le code VB6.0 de déclaration de fonction extern surlequel je me suis appuyé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Declare Function LoadBitmap Lib "user32" Alias "LoadBitmapA" _
                   (ByVal hInstance As Long, ByVal lpBitmapID As Long) As Long
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  11. #11
    Membre actif
    Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2006
    Messages
    240
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2006
    Messages : 240
    Points : 275
    Points
    275
    Par défaut
    heu ... bin en fait la déclaration de la doc de QTP donne cela comme exemple :

    Declare Method
    Description
    Declares references to external procedures in a dynamic-link library (DLL).

    Once you use the Declare method for a method, you can use the Extern object to call the declared method.

    Syntax
    Extern.Declare(RetType, MethodName, LibName, Alias [, ArgType(s)])

    Argument
    Type
    Description

    RetType String Data type of the value returned by the method. For available data types, see Declare Data Types.
    MethodName String Any valid procedure name.
    LibName String Name of the DLL or code resource that contains the declared procedure.
    Alias String Name of the procedure in the DLL or code resource.
    Note: DLL entry points are case sensitive.
    Note: If Alias is an empty string, MethodName is used as the Alias.
    ArgType(s) String A list of data types representing the data types of the arguments that are passed to the procedure when it is called. For available data types, see Declare Data Types.
    Note: For out arguments, use the micByRef flag.


    Example
    The following example uses the Extern.Declare and Extern.<declared method> methods to change the title of the Notepad window.

    'Declare FindWindow method

    Extern.Declare micHwnd, "FindWindow", "user32.dll", "FindWindowA", micString, micString

    'Declare SetWindowText method

    Extern.Declare micLong, "SetWindowText", "user32.dll", "SetWindowTextA", micHwnd, micString

    'Get HWND of the Notepad window

    hwnd = Extern.FindWindow("Notepad", vbNullString)

    if hwnd = 0 then

    MsgBox "Notepad window not found"

    end if

    'Change the title of the notepad window

    res = Extern.SetWindowText(hwnd, "kuku")

    The following example retrieves information from an external INI file using GetPrivateProfileString, and uses it in the test. Note the use of the micByRef flag to indicate the out argument.

    Extern.Declare micInteger,"GetPrivateProfileStringA", "kernel32.dll","GetPrivateProfileStringA", micString, micString, micString, micString+micByRef, micInteger, micString

    Dim key, i, key2

    key = String(32, "-")

    i = Extern.GetPrivateProfileStringA("WREnv","addons","xxx", key, 32, "wrun.ini")

    key2 = Left(key,i)

    msgbox key & ";" & key2 & ";" & CStr(i)

    The following example checks when the cursor is displayed as an hour glass.

    extern.Declare micLong,"GetForegroundWindow","user32.dll","GetForegroundWindow"

    extern.Declare micLong,"AttachThreadInput","user32.dll","AttachThreadInput",micLong,
    micLong,micLong

    extern.Declare micLong,"GetWindowThreadProcessId","user32.dll",
    "GetWindowThreadProcessId",micLong,micLong

    extern.Declare micLong,"GetCurrentThreadId","kernel32.dll","GetCurrentThreadId"

    extern.Declare micLong,"GetCursor","user32.dll","GetCursor"

    function get_cursor()

    hwnd = extern.GetForegroundWindow()

    pid = extern.GetWindowThreadProcessId(hWnd, NULL)

    thread_id=extern.GetCurrentThreadId()

    extern.AttachThreadInput pid,thread_id,True

    get_cursor=extern.GetCursor()

    extern.AttachThreadInput pid,thread_id,False

    end function

    Msgbox get_cursor()
    J'suis loin d'être un expert, seulement un passionné.
    L'humanité de l'homme ne reside que dans son intelligence. Certains l'on compris. D'autres ne le comprendront jamais... (Histrat)

  12. #12
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 185
    Points
    17 185
    Par défaut
    Comme le dit ced600, le mot Extern. dans une declaration sous VB n'existe pas, pour preuve quand on le recherche dans MSDN, le seul endroit ou il est employé semple être dans Storage-Class Specifiers for External-Level Declarations du language C/C++ Languages and C++ Libraries
    Dans ta citation Declare Method Description , il parle d'un exemple explicitement VB ?
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  13. #13
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Peut être que le mot clé Extern est spécifique à certaine version de QTP.
    C'est un outil disponible indépendement de QC.
    La version que fournis QC est peut être une version Allégé.

    C'est une doc générale QTP, ou une doc QC pour l'utilisation de QTP ?
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  14. #14
    Membre actif
    Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2006
    Messages
    240
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2006
    Messages : 240
    Points : 275
    Points
    275
    Par défaut
    C'est une doc Générale QTP... donc en gros Extern est une fonction spéciale QTP.

    Snifff, j'ai comme l'impression que je vais devoir me debrouiller ...

    Mais en fait... il faudrait simplement une DLL qui me fasse mon traitement d'image je pense non? car j'ai fais un test et apparement les seules fonction que je ne peux utiliser en dll sont celle qui requiere un callback mais ... ça veut dire quoi ?
    J'suis loin d'être un expert, seulement un passionné.
    L'humanité de l'homme ne reside que dans son intelligence. Certains l'on compris. D'autres ne le comprendront jamais... (Histrat)

  15. #15
    Membre actif
    Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2006
    Messages
    240
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2006
    Messages : 240
    Points : 275
    Points
    275
    Par défaut API et traitement d'image pour VB
    Hello,

    Bon voila mon probléme, j'aimerais découper une image en 16 petites et comparer chacune avec une image.

    Mais en plus (sinon ce serais trop simple) il faudrait que j'utilise les fonctiona de l'api windows ou alors je créer ma propre dll avec la fonction permettant de faire ça mais le soucis (j'ai déjà essayer) c'est que je n'arrive pas a la rendre compatible au vb...

    J'ai malheureusement peu d'expérience avec les dll et je n'ai pas trouver d'article sur le net permettant d'avancer, qquelqu'un aurait il des conseil pour faire ce que je veux avec les api ?

    Merci d'avance
    J'suis loin d'être un expert, seulement un passionné.
    L'humanité de l'homme ne reside que dans son intelligence. Certains l'on compris. D'autres ne le comprendront jamais... (Histrat)

Discussions similaires

  1. Traitement d'images : quel langage?
    Par belasri dans le forum Langages de programmation
    Réponses: 19
    Dernier message: 07/10/2005, 09h59
  2. Réponses: 5
    Dernier message: 15/01/2005, 18h29
  3. commande c++ pour le traitement d'images
    Par mateo.14 dans le forum MFC
    Réponses: 2
    Dernier message: 12/01/2005, 10h46
  4. [lib] Traitement d'images
    Par Gogoye dans le forum Multimédia
    Réponses: 4
    Dernier message: 19/11/2004, 16h15
  5. Traitements d'image sur PNG avec transparence
    Par Ingham dans le forum Langage
    Réponses: 16
    Dernier message: 02/08/2004, 16h42

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