Comment lire puis écrire un pixel pictureBox ?

Résolu
ehjoe Messages postés 728 Date d'inscription samedi 4 avril 2009 Statut Membre Dernière intervention 30 mars 2014 - 9 août 2011 à 16:59
ehjoe Messages postés 728 Date d'inscription samedi 4 avril 2009 Statut Membre Dernière intervention 30 mars 2014 - 10 août 2011 à 11:57
Bonjour,

Je vourdais lire la couleur d'un pixel dans une pictureBox puis écrire cette lecture dans une autre pictureBox, exemple fictif (je ne connais pas) :

dim c = LIT_COULEUR_PIXEL(picturebox1, 10, 20)
ECRIT_PIXEL(pictureBox2, 20, 40, c)

Puis-avoir un exemple qui tourne, car je ne connais pas du tout cette partie, merci :

Cordialement.

Joe.

9 réponses

ehjoe Messages postés 728 Date d'inscription samedi 4 avril 2009 Statut Membre Dernière intervention 30 mars 2014 4
10 août 2011 à 07:49
Alors, comme on n'est jamais mieux servi que par soi même, voici la réponse :

Option Explicit On
Public Class Form1
  Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim image1 As Bitmap = PictureBox2.Image
    Dim x, y As Integer
    For x = 0 To image1.Width - 1
      For y = 0 To image1.Height - 1
        Dim pixelColor As Color = image1.GetPixel(x, y)
      Next
    Next
    PictureBox1.Image = image1
  End Sub
End Class

.
3
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
10 août 2011 à 07:58
Bonjour,

Heu...
Je ne connais rien à VB.Net
J'aimerais toutefois beaucoup que quelqu'un m'explique à quoi servent ces quelques lignes (qui me paraissent totalement inutiles) :
Dim x, y As Integer
    For x = 0 To image1.Width - 1
      For y = 0 To image1.Height - 1
        Dim pixelColor As Color = image1.GetPixel(x, y)
      Next
    Next

et pourquoi pas directement, donc :
Dim image1 As Bitmap = PictureBox2.Image
PictureBox1.Image = image1



____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
10 août 2011 à 08:23
Je ne comprends d'ailleurs même pas pourquoi VB.Net oblige à passer par un tremplin et pourquoi on ne pourrait pas écrire simplement :

PictureBox1.Image = PictureBox2.Image


Quelle en est la raison ? Et pourquoi VB.Net serait-il si "compliqué" dans un tel cas ?
____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP
0
ehjoe Messages postés 728 Date d'inscription samedi 4 avril 2009 Statut Membre Dernière intervention 30 mars 2014 4
10 août 2011 à 09:16
Bonjour UcFoutu,

C'est un exemple Mixrosoft, en fait vu ainsi ça ne sert rien, c'est juste pour montrer comment on lit pixel par pixel la couleur, c'est en fait pour (ensuite) pouvoir récupérer au pixel afin de travailler avec ailleurs.

Cordialement, Joe.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ehjoe Messages postés 728 Date d'inscription samedi 4 avril 2009 Statut Membre Dernière intervention 30 mars 2014 4
10 août 2011 à 09:36
UcFoutu, suite

Ah ben, je viens de vb6 (depuis 12 ans), alos je peux te dire que vbnet10 est une sorte d'enfer, c'est quatre fois plus compliqué qu'avant et deux fois moins performant, ça ressemble au C# (sans doute pour harmoniser), c'est une horreur ce truc, mais faut faire avec.

En fait, comme avant c'était bien, Microsoft à décidé pour vendre encore, de tout rendre "difficile", il a fondu NT et Xp et >, puis il a fait une pseudo-plateforme commune pour les principaux langages (FrameWork), sorte de runTime, ce qui est censé savoir faire marcher à peu près tout. Mais en contrepartie c'est d'une complexité affolante, en fait, pour une grande partie des objets ou du code, il faut passer par des intermédiaires en prmanence (exemple ici avec la matrice graphique pour utiliser le dessin), en fait avant c'était comme ça, ça a toujours été comme ça, mais c'était transparent, on n'avait pas besoin de faire tout ça, désormais il faut presque tout dire au code, c'est une chance qu'il ne faille pas programmer en binaire, mais ça va venir.

Le vbNet est un échec total, il est trop compliqué, tortueux, sorti de cerveaux un peu malades, imagines qu'avant un objet tu pouvais l'indicer en une dimension objet(5), désormais tu ne peux plus, il faut en mettre 5 lignes pour faire la même chose, en fait c'est toi qui fait le code qu'avant il faisait tout seul, faut mettre l'objet dans un liste, puis utiliser la liste puis rajouter chaque objetn chaque indice au bout d'une procédure évènementielle s'il y a besoin; vbNet c'est une est totale régression, Microsoft a fait de ses OS et de VB des monstres !

Et l'installation, ah l'installation, moi je fais des logiciels pour des particuliers donc, et bien les pauvres, presqu'aucun ne sait accoder des permission aux dossiers, alors ça devient très compliqué de pouvoir installer un logiciel pour l'utilisateur moyen (la quasi totalité des gens), qu'est-ce qu'ils y comprennent à "administrateur", à "utilisateur" à "permission"...

Ce n'est pas la premièe fois que Microsoft se plante, windows 3.11, windows millenium, et autres... Il n'est pas impossible quez dans quelques années il efface tout et nous ponde quelque chose de mieux, en revenant en arrière, tout est possible, surtout quand chaque mise à jour de l'OS est baptisé "nouvelle version" payante ! Y en a qui ont déjà acheté 15 fois le même système d'exploitation de msDos 1.0 à Windows Seven...

Cordialement, Joe.
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
10 août 2011 à 09:59
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
10 août 2011 à 10:49
Salut, EhJoe
Juste pour compléter ce que tu commences à percevoir : un peu de lecture intéressante et valable pour tout. C'est souvent comme ça

____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP
0
ehjoe Messages postés 728 Date d'inscription samedi 4 avril 2009 Statut Membre Dernière intervention 30 mars 2014 4
10 août 2011 à 11:42
Bonjour ShayW,

Je te remercie de tes liens, bien qu'il existe aussi des hyperliens (seule l'intention compte), mais il est évident que j'avais déjà lu la "documentacione" avant de venir sur le forum

Cordialement, Joe.
0
ehjoe Messages postés 728 Date d'inscription samedi 4 avril 2009 Statut Membre Dernière intervention 30 mars 2014 4
10 août 2011 à 11:57
ucfoutu... ter...

Oui, c'est vrai pour la vie de certains objets, mais pas pour tous...
De la faute aux politiques, c'est à eux d'imposer un vérification à leurs frais de viabilité maximum (ça existe un peu pour les médicaments), et d'imposer par la réglementation des pièces détachées en fonction du parc restant.

Si c'est volontaire par rapport à un prix (par exemple un avion pourraît aller à 5000 km/h, mais la place serait le prix d'une fusée, donc on se limite à 850 km/h, meilleur rapport qualité/prix).

Par contre si c'est volontaire dans le but de faire acheter, ou pire, de mettre en panne, j'appelle ça du zabotage !

Mais... ce n'est pas toujours payant de faire ça, par exemple Mercedes vend bien parce qu'il a une réputation de solidité, or il est rare que l'on vende bien avec une réputation "de panne", sauf pour ls monopoles ou les ententes illicites...

Exemple, mon notebook : HP pavillon, 2,8 ans : trois touches qui s'éffacent + coup de jus un peu fort vers le bouton "de mise en marche" avec les mains humides + tablette pour le ventiler en dessous, car la ventilation étant en dessous, l'air s'échappe mal, chauffe et plante le processeur, même avec la tablette d'ailleurs + batterie morte au bout d'1,5 an, et je m'en étais servi au maximum 10 fois + écran mauvaise qualité, les cendres en ignition dans lair brûlent l'écran, côté cendrier à 20 centimètres, on dirait que j'ai 50 pixels de grillés...
J'ai demandé à HP un chèque ou une remise de 100 €, ils ont refusé, le prochain ne sera pas un HP...

Codialment, Joe.
0
Rejoignez-nous