Image (EAN-13) format bmp avec Qt

GillesLebel Messages postés 3 Date d'inscription lundi 16 mars 2009 Statut Membre Dernière intervention 27 mars 2009 - 16 mars 2009 à 09:20
Pistol_Pete Messages postés 1053 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 9 juillet 2013 - 27 mars 2009 à 09:18
Bonjour,

Dans le cadre d'un projet dans mon lycée,
je dois créer un code barre EAN-13 sous forme d'image bitmap sous Linux avec Qt4.
Je ne sais pas du tout comment m'y prendre. Je n'ai pas trouvé d'informations qui explique comment créer l'image.
Donc j'aimerai trouver des pdf, des tutoriels ou des petits sources où je pourrai comprendre le fonctionnement.

Merci de votre aide et bonne journée.
A voir également:

6 réponses

Pistol_Pete Messages postés 1053 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 9 juillet 2013 7
16 mars 2009 à 09:27
Salut
Regarde ses deux classes :
QPixmap  //pour afficher une image   
QImage    //Pour modifier les pixels de ton image

La convertion d'un QImage en QPixmap se fait par  QPixmap::fromImage()
A+

____________________________________________________________________________
Mon site internet :  
0
GillesLebel Messages postés 3 Date d'inscription lundi 16 mars 2009 Statut Membre Dernière intervention 27 mars 2009
16 mars 2009 à 11:35
Pour afficher l'image il n'y a pas de problème j'y arrive déjà.

Mais il faut que je crée une image et que je fasse un code barre pixel par pixel.
C'est là où je bloque. Comment créer un pixel et réussir à faire un code barre?
N'existe-t-il pas une fonction qui permettrai de faire un code barre?

Merci.
0
Pistol_Pete Messages postés 1053 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 9 juillet 2013 7
16 mars 2009 à 12:01
Cela semble simple: un code barre ce n'est rien de plus qu'une image binaire composé de rectangles de différentes largeurs. Si tu sais dessiner un rectangle, il n'y a plus de difficulté.
Il doit y avoir de la doc sur le net pour savoir qu'elle est la largeur et la succession des rectangles à tracer.
A+
____________________________________________________________________________
Mon site internet :  
0
GillesLebel Messages postés 3 Date d'inscription lundi 16 mars 2009 Statut Membre Dernière intervention 27 mars 2009
27 mars 2009 à 00:35
Escusez moi du retard.

Je n'ai jamais crée d'image avec Qt et encore moins des rectangles.
J'ai essayé de regarder plusieurs classes (QImage, QPainter, QPixmap ...) mais je n'ai pas bien compris comment crée un pixel noir sur une image blanche par exemple ou de faire un rectangle tout simplement.
Pour les longueurs et les hauteurs du code barre je pense pouvoir me débrouiller il faut regarder dans la documentation,
mais j'aimerai avoir des explications sur "comment créer des pixels ou des rectangles noir sur du blanc".

Escusez moi j'ai pas mal de difficulté puisque je viens de débuter dans le langage Qt.
Merci de votre aide et de votre compréhension.
0

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

Posez votre question
Pistol_Pete Messages postés 1053 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 9 juillet 2013 7
27 mars 2009 à 09:17
Dans ta classe QImage, tu as une fonction bits() qui te retourne les valeur de ton image.
UCHAR *MesPix=Ton-Image->bits();

C'est un tableau 1D généralement c'est de la forme RGBA pour chaque pixel. Donc tu peux faire des traiteme,nt comme ca:

for(i=0;i<W*H*4;i++)
  MesPix[i]=0;     //initialisation à 0

//Création d'un rectangle blanc
for(i=100;i<110;i++)
  for(j=10;j<100;j++){
    MesPix[(i+j*W)*4]=255;       //B
    MesPix[(i+j*W)*4+1]=255;  //G
    MesPix[(i+j*W)*4+2]=255;  //R
}
A+
____________________________________________________________________________
Mon site internet :  
0
Pistol_Pete Messages postés 1053 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 9 juillet 2013 7
27 mars 2009 à 09:18
Oups tu voulais "comment créer des pixels ou des rectangles noir sur du blanc".
Il faut juste mettre pour l'initialisation "=255" et pour le rectangle "=0"
____________________________________________________________________________
Mon site internet :  
0
Rejoignez-nous