Comment lire puis écrire un pixel pictureBox ? [Résolu]

ehjoe 728 Messages postés samedi 4 avril 2009Date d'inscription 30 mars 2014 Dernière intervention - 9 août 2011 à 16:59 - Dernière réponse : ehjoe 728 Messages postés samedi 4 avril 2009Date d'inscription 30 mars 2014 Dernière intervention
- 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.
Afficher la suite 

Votre réponse

9 réponses

Meilleure réponse
ehjoe 728 Messages postés samedi 4 avril 2009Date d'inscription 30 mars 2014 Dernière intervention - 10 août 2011 à 07:49
3
Merci
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

.

Merci ehjoe 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 80 internautes ce mois-ci

Commenter la réponse de ehjoe
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 10 août 2011 à 07:58
0
Merci
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
Commenter la réponse de ucfoutu
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 10 août 2011 à 08:23
0
Merci
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
Commenter la réponse de ucfoutu
ehjoe 728 Messages postés samedi 4 avril 2009Date d'inscription 30 mars 2014 Dernière intervention - 10 août 2011 à 09:16
0
Merci
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.
Commenter la réponse de ehjoe
ehjoe 728 Messages postés samedi 4 avril 2009Date d'inscription 30 mars 2014 Dernière intervention - 10 août 2011 à 09:36
0
Merci
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.
Commenter la réponse de ehjoe
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 10 août 2011 à 10:49
0
Merci
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
Commenter la réponse de ucfoutu
ehjoe 728 Messages postés samedi 4 avril 2009Date d'inscription 30 mars 2014 Dernière intervention - 10 août 2011 à 11:42
0
Merci
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.
Commenter la réponse de ehjoe
ehjoe 728 Messages postés samedi 4 avril 2009Date d'inscription 30 mars 2014 Dernière intervention - 10 août 2011 à 11:57
0
Merci
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.
Commenter la réponse de ehjoe

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.