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

VB.NET Discussion :

Recolorer image pixel par pixel


Sujet :

VB.NET

  1. #1
    Nouveau candidat au Club
    Inscrit en
    Janvier 2011
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 2
    Par défaut Recolorer image pixel par pixel
    Bonjour,

    Je souhaite écrire un code qui génère une image contenant un nombre donné de carrés de tailles identiques (par ex. 1000) en attribuant une couleur aléatoire à chaque carré.

    Il me semble qu'une solution serait de créer une picturebox, d'y intéger une image de 1000 pixels et de la scanner pixel par pixel en attribuant à chaque pixel une couleur avec des valeurs argb aléatoires, puis d'afficher cette nouvelle image.

    Problème: je suis novice, un en VB, deux en programmation tout cours ... j'ai cherché sur le net des pistes de codes mais sans trop de succès. Ce n'est peut être pas possible, ou VB n'est peut être pas l'outil approprié ...

    Merci

  2. #2
    Membre extrêmement actif
    Inscrit en
    Avril 2008
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Âge : 65

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 573
    Par défaut Image artificielle ,compose de carres de couleur
    bonjour julienlgz
    et aussi à l'ile de beaute qui me rappelle mon vieux directeur d'ecole primaire Cesare.

    si si tu peux creer en vb.net une image en memoire et la colorier ,pourvu que tu saches manipuler habilement les classes bitmap ,image et le control picturebox.
    il faut t'entrainer tout simplement un certain temps mais c'est possible.

    voici un 1er exemple qui lit une image de ton lecteur et l'affiche en point du forme.

    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
    'exemple d'une image qu'on charge et affiche directement sur la forme
    'a une position donne
    Public Class Form1
        Private pictureBox1 As New PictureBox()
        Public Sub New()
            ' Cet appel est requis par le Concepteur Windows Form.
            InitializeComponent()
     
            ' Ajoutez une initialisation quelconque après l'appel InitializeComponent().
        End Sub
        Private Sub DessineImageSurForme(ByVal e As PaintEventArgs)
            'charge une image.
            Dim nouvImage As Image = Image.FromFile("tonImage.jpg")
     
            ' Cree le Point top-left(coin haut-gauche) pour position 
            'sur la forme l'image
            Dim TopLeftCoin As New Point(100, 100)
     
            ' Dessine l'image sur la forme
            e.Graphics.DrawImage(nouvImage, TopLeftCoin)
        End Sub
    End Class
    voici un 2eme exemple qui cree une image à partir de rien(banniere) ,l'affiche dans un picturebox et la sauvegarde ensuite sur le lecteur c.

    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
    32
    33
    34
    35
    36
    37
    38
    39
     
    'Banniere francaise à la memoire de Mapoleon 1er à Wagram 
    'ici un bitmap cree en memoire vide ,colorie et charge dans un picturebox1 
    '(existant sur la forme) pour etre enregistre par la suite.
    Imports System.Drawing
    Public Class Form2
        Private Sub btnCreeImage_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCreeImage.Click
            'adapte la taille du picturbox1
            Me.PictureBox1.Size = New Size(210, 110)
            Call CreeBitmapExecution()
        End Sub
        Public Sub CreeBitmapExecution()
            'cree un tableau en memoire bitmap legerement plus petit que le picturebox
            Dim bitmapTable As New Bitmap(200, 100)
            Dim objGraphics As Graphics = Graphics.FromImage(bitmapTable)
            'on declare 2 entiers pour gerer position des futures 2 couleurs
            Dim posRouge As Integer = 0  'demarre à ligne 0
            Dim posBlanc As Integer = 6 'demarre à ligne  5
            Dim posBleu As Integer = 11 'demarre à ligne 11
            While posBlanc <= 100
                'dessine un rectangle rouge(largeur=200xhauteur=10) à ligne =0,col=posred 
                objGraphics.FillRectangle(Brushes.Red, 0, posRouge, 200, 10)
                'dessine un rectangle blanc(largeur=200xhauteur=10) à ligne=0,col=posblanc 
                objGraphics.FillRectangle(Brushes.White, 0, posBlanc, 200, 10)
                'dessine un rectangle bleu(largeur=200xhauteur=10) à ligne=0,col=posbleu 
                objGraphics.FillRectangle(Brushes.Blue, 0, posBleu, 200, 10)
                'espace les lignes des 2 rectangles futurs en dessous de 20
                posRouge += 20
                posBlanc += 20
                posBleu += 20
            End While
            'a la fin on affecte le tableau bitmap a notre picturebox1
            PictureBox1.Image = bitmapTable
            'enregistre l'image sur c: en bmp
            PictureBox1.Image.Save("c:\bannier.bmp")
            'enregistre l'image sur c: en jpeg
            PictureBox1.Image.Save("c:\bannier.jpeg", System.Drawing.Imaging.ImageFormat.Jpeg)
        End Sub
    End Class
    bon code.....

  3. #3
    Nouveau candidat au Club
    Inscrit en
    Janvier 2011
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 2
    Par défaut
    Merci beaucoup MABROUKI

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Afficher un image dynamiquement pixel par pixel
    Par mchk0123 dans le forum Qt
    Réponses: 14
    Dernier message: 03/04/2007, 23h02
  2. Image a remplir Pixel par Pixel, Quel objet utiliser ?
    Par ZbergK dans le forum GTK+ avec C & C++
    Réponses: 5
    Dernier message: 28/02/2007, 21h35
  3. Lecture de fichiers images pixels par pixels
    Par FabHacker dans le forum Langage
    Réponses: 3
    Dernier message: 26/11/2005, 16h12
  4. [ImageMagick] Parcourir une image pixel par pixel
    Par kip dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 05/10/2005, 14h10
  5. [VB6] [Graphisme] Transfert d'image pixel par pixel
    Par SpaceFrog dans le forum VB 6 et antérieur
    Réponses: 16
    Dernier message: 15/10/2002, 09h53

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