none
Comment enregistrer une image pictureBox Zoomée ? RRS feed

  • Question

  • Bonjour,

    Faisant une copie d'écran je la place ensuite dans une picture zoomée, ainsi je vois tout, mais le problème est que je n'arrive pas après à travailler dessus, par exemple à lire la couleur d'un pixel, car en fait l'image zoomée semble uniquement virtuelle, une apparence, et non pas une véritable image issue d'un fichier. De facto, admettons que ma picture fasse la taille d'1/4 d'écran, et bien si j'affiche dans cette dernière une image zoomée, ça va me donner les pixels d'origine, ceux du 1/4 d'écran, ceux du mode (normal) en quelque sorte.

    Alors ce que je cherche à faire, c'est d'enregistrer une image zoomée afin de la transformer en véritable image physique (si on peut dire), pour ensuite avoir une image que je puisse afficher en mode normal et qui reste de même apparence (ou l'écran dans une picture plus petite que ce dernier).

    Par exemple, j'ai mis en picture2 une copie 'écran zoomée, donc j'ai tout l'écran, puis en picture (mode normal), je copie la picture2 zoomée (p2(normal) = p1(zoom)), et je me retrouve en picture1 (normal) avec non pas ce que représente le zoom de la picture d'origine, mais son mode "normal", évidemmen ls pixels de l'écran ne correspondent pas entre ces deux images...

    En d'autres termes, quand je teste la couleur d'un pixel d'une image zoomée, ça me restitue le pixel d'un image en mode normal, exemple : l'écran serait composé d'un quart Nord-Ouest en bleu et le reste en rouge, si je colle cette copie d'écran dans une picture qui fait le 1/4 de l'écran en taille, je ne vois donc que le bleu, et si j'analyse le pixel il est bien bleu, mais si je zoom cette même copie d'écran dans la même image, et bien la réponse de la couleur des pixels va être bleu partout (comme s'il s'agissait en fait seulement du premier 1/4 bleu qui tien dans l'image normal), en fait l'image zoomée est une apparence, elle ne se comporte pas comme une véritable image fichier...

    En fait, il faudrait que je puisse faire comme si je copiais les pixels écran de l'image zoomé pour ensuite transformer ça en une image (jpg, bmp) normal.

    Si je m'exprime mal je donnerai des exemples photo...

    Il y a sans doute plusieurs solutions : copie entre images (zoomée et normal), en faisant un fichier de l'image zoomée, en faisan un fichier des pixels écran de la surface de l'image zoomée, mais je ne sais pas faire...

    Merci de vos lumière, cordialement.

     


    Joseph Attila PUSZTAY
    EhJoe       Logiciels       Romans       Ecrire
    lundi 16 août 2010 06:51

Réponses

  • Bonjour,

    Le contrôle PictureBox sert simplementà *afficher* une image. Soit il faut prendre en compte ce fait dans les traitements que l'on veut faire (je crois comprendre que l'on récupére une coordonnée cliquée dans le PictureBox et que l'on veut la couleur du point correspondant dans l'image (?) donc convertir la coordonnée du PictureBox en cordonnée dans l'image), soit on peut travailler sur des images en manipulant directement le bitmap : voir par exemple http://msdn.microsoft.com/fr-fr/library/e06tc8a5.aspx.

     


    Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".
    • Marqué comme réponse EhJoe lundi 16 août 2010 22:13
    lundi 16 août 2010 11:12
    Modérateur

Toutes les réponses

  • Bonjour,

    Le contrôle PictureBox sert simplementà *afficher* une image. Soit il faut prendre en compte ce fait dans les traitements que l'on veut faire (je crois comprendre que l'on récupére une coordonnée cliquée dans le PictureBox et que l'on veut la couleur du point correspondant dans l'image (?) donc convertir la coordonnée du PictureBox en cordonnée dans l'image), soit on peut travailler sur des images en manipulant directement le bitmap : voir par exemple http://msdn.microsoft.com/fr-fr/library/e06tc8a5.aspx.

     


    Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".
    • Marqué comme réponse EhJoe lundi 16 août 2010 22:13
    lundi 16 août 2010 11:12
    Modérateur
  • Bonsoir Patrice,

    Merci de ta réponse, intéressant, je vais étudier ça.

    Cordialement.

     


    Joseph Attila PUSZTAY
    EhJoe       Logiciels       Romans       Ecrire
    lundi 16 août 2010 17:37
  • Patrice, suite,

    Alors hélas ça ne tourne pas car en fait je charge picture2 via clipBoard, picture2 qui est à "Zoom", et ensuite, s'il faut passer cette image dans un objet rectangle (il doit avoir un nom ?), ben a priori ce ne sont pas les mêmes classes, alors déjà que je nage un peu, beaucoup, si en plus je doit convertir d'une classe à l'autre, tant est que ce soit possible, mon cerveau est trop petit :o)

    Je vais donc tenter de psser par l'API BitBlt.dll qui évidemment ne fonctionne pas, j'ai donc posé une question à ce sujet, toutefois je te remercie moult ("molto" disent les Italiens) fois de ton aide.

    Donc : résolu par défaut ici.

    Cordialement.

     


    Joseph Attila PUSZTAY
    EhJoe       Logiciels       Romans       Ecrire
    lundi 16 août 2010 22:13
  • Ok bon courage. Cela devrait être la classe Bitmap ?
    Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".
    mardi 17 août 2010 08:06
    Modérateur