begin process at 2010 02 10 06:06:37
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Graphique

 > CODEBARRE GENERATOR

CODEBARRE GENERATOR


 Information sur la source

Note :
6 / 10 - par 1 personne
6,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Graphique Source .NET ( DotNet ) Classé sous :Code barre, Barcod, Etiquetage Niveau :Débutant Date de création :23/02/2008 Date de mise à jour :01/03/2008 15:48:06 Vu / téléchargé :7 898 / 440

Auteur : Redman31100

Ecrire un message privé
Commentaire sur cette source (11)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
C'est un programme qui permet de générer des codeBarre Aléatoire avec options la couleur de fond, la couleur des traits, les dimensions du code barre, le lissage.

Source

  • Public Class RandomCodeBarre
  • Private cBackColor As Color ' Couleur de fond
  • Private cForeColor As Color ' Couleur de barres
  • Private iWidth As Integer ' Largeur
  • Private iHeight As Integer ' Hauteur
  • Private bSmooth As Boolean
  • Public Function Rendu() As Image
  • Dim img As New Bitmap(iWidth, iHeight)
  • Randomize() ' Graine aléatoire
  • Dim i As Integer ' Etat des lignes verticales :
  • ' 1 : i définit le blanche
  • ' 2 : i définit le gris(si lissage)
  • ' 3 : i définit le noir
  • i = Rnd() * 3 ' 1 ou 2 ou 3
  • i = Math.Max(i, 1) ' minimum : 1
  • i = Math.Min(i, 3) ' maximum : 3
  • While i = 2
  • ' i doit etre redéfini si il est égal a 2 donc doit etre égal a 1 ou 3
  • i = Rnd() * 3
  • i = Math.Max(i, 1)
  • i = Math.Min(i, 3)
  • End While
  • Dim nextiafterhold As Integer ' i suivant apres le lissage
  • For x As Integer = 0 To img.Width - 1 ' pour chaque ligne verticale
  • Dim bHold As Boolean ' Maintient
  • Dim bchange As Boolean = False ' Changement
  • Select Case
  • Case 1 ' White
  • bHold = Not CBool(CInt(Rnd() * 1)) ' boolean aleatoire qui défini si on change de blanc vert noir ou pas
  • Case 2
  • i = nextiafterhold ' i=le i inverse du i précédent qui n'est pas lissage
  • bchange = True ' changement apres le lissage
  • Case 3 ' Black
  • bHold = Not CBool(CInt(Rnd() * 1)) ' boolean aleatoire qui défini si on change de noir vert blanc ou pas
  • End Select
  • If Not bchange Then ' si pas de changement
  • If Not bHold Then ' et pas de maintient
  • ' alors on change le i
  • Select Case i
  • Case 1
  • nextiafterhold = 3 ' i suivant : noir
  • i = 2
  • Case 3
  • nextiafterhold = 1 ' i suivant : blanc
  • i = 2
  • End Select
  • End If
  • End If
  • For y As Integer = 0 To img.Height - 1 ' pour chaque ligne verticale
  • Select Case i
  • Case 1 ' White
  • img.SetPixel(x, y, cForeColor) ' met un pixel blanc
  • Case 2 ' Fade
  • Dim r, g, b As Integer
  • ' Analyse de la couleur moyenne(ou milieu) de 2 couleurs(backcolor et forecolor)
  • If cForeColor.R > cBackColor.R Then
  • r = cForeColor.R - cBackColor.R
  • ElseIf cForeColor.R < cBackColor.R Then
  • r = cBackColor.R - cForeColor.R
  • Else
  • r = cBackColor.R
  • End If
  • If cForeColor.G > cBackColor.G Then
  • g = cForeColor.G - cBackColor.G
  • ElseIf cForeColor.G < cBackColor.G Then
  • g = cBackColor.G - cForeColor.G
  • Else
  • g = cBackColor.G
  • End If
  • If cForeColor.B > cBackColor.B Then
  • b = cForeColor.B - cBackColor.B
  • ElseIf cForeColor.B < cBackColor.B Then
  • b = cBackColor.B - cForeColor.B
  • Else
  • b = cBackColor.B
  • End If
  • If bSmooth Then ' si le lissage est activé
  • img.SetPixel(x, y, Color.FromArgb(r, g, b)) ' On met la couleur moyenne du backcolor et forecolor
  • Else
  • img.SetPixel(x, y, cBackColor) ' Sinon on met la couleur de fond
  • End If
  • Case 3 ' Black
  • img.SetPixel(x, y, cBackColor) ' met un pixel noir
  • End Select
  • Next
  • Next
  • Return img
  • End Function
  • Public Sub New(ByVal BackColor As Color, ByVal ForeColor As Color, ByVal Width As Integer, ByVal Height As Integer, ByVal Smooth As Boolean)
  • iWidth = Width
  • iHeight = Height
  • cBackColor = BackColor
  • cForeColor = ForeColor
  • bSmooth = Smooth
  • End Sub
  • End Class
Public Class RandomCodeBarre

    Private cBackColor As Color ' Couleur de fond
    Private cForeColor As Color ' Couleur de barres

    Private iWidth As Integer ' Largeur
    Private iHeight As Integer ' Hauteur

    Private bSmooth As Boolean

    Public Function Rendu() As Image
        Dim img As New Bitmap(iWidth, iHeight)

        Randomize() ' Graine aléatoire

        Dim i As Integer ' Etat des lignes verticales : 

        ' 1 : i définit le  blanche
        ' 2 : i définit le gris(si lissage)
        ' 3 : i définit le noir

        i = Rnd() * 3 ' 1 ou 2 ou 3
        i = Math.Max(i, 1) ' minimum : 1
        i = Math.Min(i, 3) ' maximum : 3

        While i = 2
            ' i doit etre redéfini si il est égal a 2 donc doit etre égal a 1 ou 3
            i = Rnd() * 3
            i = Math.Max(i, 1)
            i = Math.Min(i, 3)
        End While

        Dim nextiafterhold As Integer ' i suivant apres le lissage

        For x As Integer = 0 To img.Width - 1 ' pour chaque ligne verticale
            Dim bHold As Boolean ' Maintient
            Dim bchange As Boolean = False ' Changement
            Select Case 
                Case 1 ' White
                    bHold = Not CBool(CInt(Rnd() * 1)) ' boolean aleatoire qui défini si on change de blanc vert noir ou pas
                Case 2
                    i = nextiafterhold ' i=le i inverse du i précédent qui n'est pas lissage
                    bchange = True ' changement apres le lissage
                Case 3 ' Black
                    bHold = Not CBool(CInt(Rnd() * 1)) ' boolean aleatoire qui défini si on change de noir vert blanc ou pas
            End Select

            If Not bchange Then ' si pas de changement
                If Not bHold Then ' et pas de maintient
                    ' alors on change le i
                    Select Case i
                        Case 1
                            nextiafterhold = 3 ' i suivant : noir
                            i = 2
                        Case 3
                            nextiafterhold = 1 ' i suivant : blanc
                            i = 2
                    End Select
                End If
            End If

            For y As Integer = 0 To img.Height - 1 ' pour chaque ligne verticale
                Select Case i
                    Case 1 ' White
                        img.SetPixel(x, y, cForeColor) ' met un pixel blanc
                    Case 2 ' Fade
                        Dim r, g, b As Integer
                        ' Analyse de la couleur moyenne(ou milieu) de 2 couleurs(backcolor et forecolor)
                        If cForeColor.R > cBackColor.R Then
                            r = cForeColor.R - cBackColor.R
                        ElseIf cForeColor.R < cBackColor.R Then
                            r = cBackColor.R - cForeColor.R
                        Else
                            r = cBackColor.R
                        End If

                        If cForeColor.G > cBackColor.G Then
                            g = cForeColor.G - cBackColor.G
                        ElseIf cForeColor.G < cBackColor.G Then
                            g = cBackColor.G - cForeColor.G
                        Else
                            g = cBackColor.G
                        End If

                        If cForeColor.B > cBackColor.B Then
                            b = cForeColor.B - cBackColor.B
                        ElseIf cForeColor.B < cBackColor.B Then
                            b = cBackColor.B - cForeColor.B
                        Else
                            b = cBackColor.B
                        End If

                        If bSmooth Then ' si le lissage est activé
                            img.SetPixel(x, y, Color.FromArgb(r, g, b)) ' On met la couleur moyenne du backcolor et forecolor
                        Else
                            img.SetPixel(x, y, cBackColor) ' Sinon on met la couleur de fond
                        End If
                    Case 3 ' Black
                        img.SetPixel(x, y, cBackColor) ' met un pixel noir
                End Select
            Next
        Next

        Return img
    End Function

    Public Sub New(ByVal BackColor As Color, ByVal ForeColor As Color, ByVal Width As Integer, ByVal Height As Integer, ByVal Smooth As Boolean)
        iWidth = Width
        iHeight = Height

        cBackColor = BackColor
        cForeColor = ForeColor

        bSmooth = Smooth
    End Sub
End Class

 Conclusion

Laisser vos commentaires, pour l'instant je ne vois pas d'améliorations a faire.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

23 février 2008 12:07:23 :
MAJ SCREENSHOT
01 mars 2008 15:48:07 :
Ajout de commentaires sur le code de la classe RandomCodeBarre.

 Sources de la même categorie

Source avec Zip ALBUM PHOTOS par ayoube2009
Source avec Zip Source avec une capture EDITEUR D'AUTOMATES CELLULAIRES par PADYVEN
Source avec Zip Source avec une capture PROGRAMME DE DESSIN À LA SOURIS AVEC OUVERTURE ET ENREGISTRE... par SnkVrt
Source avec Zip Source avec une capture Source .NET (Dotnet) PHOTOSEXPRESS - TRAITEMENT DE PHOTOS par zozo14
Source avec Zip Source avec une capture ÉCRIRE SUR LE WALLPAPER par Rafale71

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture YM_BASE - BASE DE DONNEES par ym_trainz
Source avec Zip Source avec une capture Source .NET (Dotnet) CREER, IMPRIMER, LIRE UN CODE-BARRES A L'AIDE DE LA SOURIS par dheroux
Source avec Zip Source avec une capture Source .NET (Dotnet) GÉNÉRATION DE CODE BARRE 3 DE 9 (CODE39) par ABL-Online
Source avec Zip Source avec une capture CODE BARRE 128 par grandzebu

Commentaires et avis

Commentaire de yvesyves le 23/02/2008 19:10:07

Pour améliorer ton programme et lui donner plus d'interet tu devrais pouvoir implanter une conversion ASCII <-> code barre. http://fr.wikipedia.org/wiki/Code_universel_des_produits. Enfin tu vois..

Commentaire de Redman31100 le 23/02/2008 19:25:00

J'ai lu l'article mais le codage n'a pas de logique et il montre des exemples de chiffre et leur codage mais rien n'est logique donc je peux pas l'améliorer.

Commentaire de laridak le 24/02/2008 10:28:38

Salut
je me demande est-ce que je peut utiliser le code barre sans installer le Font Code-barres  pour pouvoir convertir de Code Code-barres a ASCI  ???

Commentaire de IMX le 24/02/2008 13:22:27 6/10

Salut, j'ai vu l'article de wikipedia, ce n'est effectivement pas très clair pour celui qui veut coder. J'ai fait des code-barres et je me suis servi de l'excellente page de GrandZebu sur le sujet (http://grandzebu.net/index.php).

Commentaire de Redman31100 le 24/02/2008 19:25:28

Laridak mon programme gère les Bitmap, rien a voir avec les fonts. Merci IMX pour le lien.

Commentaire de imparator_42 le 24/02/2008 23:16:47

Tu pourrais pas mettre ton projet en form de zip stp ?

Commentaire de Redman31100 le 24/02/2008 23:19:55

Le projet est en forme de zip(.ZIP)

Commentaire de bbatchakui le 28/02/2008 17:23:24

Ce code mérite d'être suffisamment commenté pour permettre développeur de comprendre ce qu'il utilise.

Commentaire de Redman31100 le 01/03/2008 14:04:18

BBATCHAKUI je vais le faire dans la journée. Je mettrai a jour le code avec commentaire.

Commentaire de waspy59 le 14/09/2008 23:36:17

elle ne fonctionne pas ta source... pas possible de l'importer.

Commentaire de Redman31100 le 15/09/2008 01:24:19

Si elle fonctionne, tu dois avoir un problème.

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,764 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales