Bonjour.
Ben je crois que tout est dit dans le titre, j'ai une PictureBox avec une image dedans, et je cherche à connaitre la couleur d'un pixel connaissant ses coordonnées.
Merci d'avance
Bonjour.
Ben je crois que tout est dit dans le titre, j'ai une PictureBox avec une image dedans, et je cherche à connaitre la couleur d'un pixel connaissant ses coordonnées.
Merci d'avance
essaye ceci
tu obtiendras un long
Code : Sélectionner tout - Visualiser dans une fenêtre à part MsgBox picture1.Point(X, Y)
si tu veux en tirer les composantes R,G,B, tu dis ...
J'avais pas vu cette méthode
Mais j'ai un autre problème.
Je m'explique : j'ai une carte de mon département avec ses communes, chaque commune est d'une couleur différente, la carte est chargée dans la picturebox, j'ai un tableau de conversion car je dois attribuer une nouvelle couleur a chaque commune. je parcour donc toute l'image, récupère la couleur avec Point, et attribue la nouvelle couleur avec PSet. Mais ma carte est trop grande pour etre affichée a l'écran (2858 * 2579), je voudrait donc l'envoyer dans une ImageBox dont la propriété Stretch est a True, mais lorsque je fait
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part Image1.Picture=Picture1.Picture
l'ImageBox m'affiche la carte de départ alors que la PictureBox contient bien l'image modifiée (j'en voi une partie)
Code : Sélectionner tout - Visualiser dans une fenêtre à part Image1.Picture=Picture1.Image
Comment je dois faire, car la j'ai essayé plein de truc sans résultats
De plus je voudrait après enregistrer la nouvelle carte dans un fichier bitmap mais ca doit se faire avec SavePicture.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Comment je dois faire, car la j'ai essayé plein de truc sans résultats
Ah! Ah!....
Alors : quelqu'un (qui se reconnaîtra peut-être ici... avait une fois poussé un MOUARF.....
Mais toi, tu ne vas pas le pousser... et faire précéder tes opérations par un :
Picture1.picture = picture1.Image,
ce qui donne, dans l'ordre :
et tu me dis...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Picture1.picture = picture1.Image Doevents Image1.Picture=Picture1.Picture
Si celà ne va pas : envoie-moi un zip et je te fais !
EDIT : et ainsi ton savepicture marchera lui aussi.....
T'en fais pas
Bon je n'ai pas excel moderne pour essayer mais j'ai vu où était ton problème
essaye celà et n'oublie pas d'ajouter ce qui est en rouge et qui est nécessaire
lance et tu verras une ligne s'afficher tant rur ta PictureBox que sur ton image...
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 Private Sub ColorMap_Click() Picture1.AutoRedraw = True Dim bX As Single Dim bY As Single Dim Coul As Long 'désactive les boutons CmdOpenBmp.Enabled = False CmdOpenXls.Enabled = False ColorMap.Enabled = False Picture1.Picture = LoadPicture(App.Path & "\Creuse.bmp") 'je dessine quelque chose========================== Picture1.DrawWidth = 3 Picture1.ForeColor = 0 Picture1.Line (0, 0)-(500, 500) '==================================================== Picture1.Picture = Picture1.Image DoEvents Image1.Picture = Picture1.Picture 'active les boutons CmdOpenBmp.Enabled = True CmdOpenXls.Enabled = True ColorMap.Enabled = True End Sub
C'est tout ...
Mon problème est que je voulais utiliser une picturebox pour aller plus vite, car j'ai fait un control pour les Bitmap mais ca rame dur (au moins une heure pour traiter toute l'image) or quand je met Picture1.autoredraw a true, ca rame autant
Celà me parait être un tout autre problème que celui de ton sujet...Mon problème est que je voulais utiliser une picturebox pour aller plus vite, car j'ai fait un control pour les Bitmap mais ca rame dur (au moins une heure pour traiter toute l'image) or quand je met Picture1.autoredraw a true, ca rame autant
Le chargement d'une pictureBox nécessite un temps proportionnel à celui des pixels de l'image chargée...
Ton problème était la mise à jour de ton contrôle image. Est-il oui ou non résolu ?
Pour le reste : le temps pendant lequel "ça rame" : je pense qu'il est moins le résultat du chargement de ta pictureBox que le traitement que tu y fais ensuite pixel par pixel....(il y a d'autres façons de procéder que celle-là...)
Alors :
1) je souhaiterais que tu répondes par oui ou par non à "le probvlème de la mise à jour de Image1 est-il réglé ?"
2) que tu ouvres un sujet distinct (car il n'a plus rien à voir avec le 1er) concernant la façon de modifier beaucoup plus rapidement que pixel par pixel, la couleur des pixels d'une zone délimitée.
Oui, il l'est et je t'en remercie Grandement , quand à l'autre problème je l'ai résolu en mettant la propriété visible de la feuille à False, ainsi le temps et beaucoup plus court
Encore une fois un grand merci a toi
Tu peux encore augmenter cette vitesse ...
Relis entièrement ma réponse...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager