issue85:programmer_en_python_p._54
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
issue85:programmer_en_python_p._54 [2014/12/09 17:14] – andre_domenech | issue85:programmer_en_python_p._54 [2014/12/10 12:44] (Version actuelle) – andre_domenech | ||
---|---|---|---|
Ligne 5: | Ligne 5: | ||
In case you aren’t familiar with counted cross stitch, I’ll give you a gross overview of what it is. Cross stitch is a type of needlework that uses tiny ‘x’ patterns of thread that eventually make up a picture. The thread is called “floss” and the fabric that you use is called “aida”. According to Wikipedia, aida is a special fabric that has tiny squares that have small holes at regular intervals that form the squares. This facilitates the placement of the “x” patterns that make the image. There are two types of cross stitch. One has an image printed on the aida (sort of like paint by numbers), and the other uses totally blank aida that you count stitches from the pattern. The second is much harder than the first. Go to your favorite fabric store or craft section of your local mega-mart and you’ll get the idea.** | In case you aren’t familiar with counted cross stitch, I’ll give you a gross overview of what it is. Cross stitch is a type of needlework that uses tiny ‘x’ patterns of thread that eventually make up a picture. The thread is called “floss” and the fabric that you use is called “aida”. According to Wikipedia, aida is a special fabric that has tiny squares that have small holes at regular intervals that form the squares. This facilitates the placement of the “x” patterns that make the image. There are two types of cross stitch. One has an image printed on the aida (sort of like paint by numbers), and the other uses totally blank aida that you count stitches from the pattern. The second is much harder than the first. Go to your favorite fabric store or craft section of your local mega-mart and you’ll get the idea.** | ||
- | Il y a plusieurs années, j' | + | Il y a plusieurs années, j' |
- | Au cas où vous ne seriez pas familier avec le point de croix compté, je vais vous donner un bref aperçu de ce que c'est. Le point de croix est un type de couture qui consiste à faire des « x » minuscules en fil pour aboutir au final à une image. Le fil est appelé | + | Au cas où vous ne seriez pas familier avec le point de croix compté, je vais vous donner un bref aperçu de ce que c'est. Le point de croix est un type de couture qui consiste à faire des « x » minuscules en fil pour aboutir au final à une image. Le fil s' |
====== 2 ====== | ====== 2 ====== | ||
Ligne 27: | Ligne 27: | ||
J'ai également commencé à m' | J'ai également commencé à m' | ||
- | Nous allons traiter ce projet durant les prochains articles. Il faudra | + | Nous allons traiter ce projet durant les prochains articles. Il faudra |
• Créer une base de données pour convertir les couleurs de pixels en couleurs de fils. | • Créer une base de données pour convertir les couleurs de pixels en couleurs de fils. | ||
• Créer une interface graphique avec Tkinter pour l' | • Créer une interface graphique avec Tkinter pour l' | ||
Ligne 37: | Ligne 37: | ||
• révision sur la programmation d' | • révision sur la programmation d' | ||
• manipulation d' | • manipulation d' | ||
- | • création de PDF à l'aide pyFPDF (https:// | + | • création de PDF à l' |
====== 3 ====== | ====== 3 ====== | ||
Ligne 49: | Ligne 49: | ||
Pour commencer | Pour commencer | ||
- | La première chose dans notre liste de tâches est de créer la base de données qui contiendra les couleurs de fils DMC (™) et de les rapprocher le mieux possible des valeurs RVB (Rouge, Vert, Bleu) utilisées pour les images sur l'ordinateur. La base de données contiendra également la valeur hexadécimale et la représentation HSV (Teinte, Saturation, Lumière) pour chaque couleur de fil. Il semble que le HSV soit la façon la plus simple de trouver la « plus proche » représentation d'une couleur de fil. Bien sûr, l'œil humain est le décideur ultime. Si vous n' | + | La première chose dans notre liste de tâches est de créer la base de données qui contiendra les couleurs de fils DMC (™) et de les rapprocher le mieux possible des valeurs RVB (Rouge, Vert, Bleu) utilisées pour les images sur ordinateur. La base de données contiendra également la valeur hexadécimale et la représentation HSV (Teinte, Saturation, Lumière) pour chaque couleur de fil. Il semble que le HSV soit la façon la plus simple de trouver la « plus proche » représentation d'une couleur de fil. Bien sûr, l'œil humain est le décideur ultime. Si vous n' |
- | La première chose dont nous avons besoin est un fichier XML qui contient les couleurs de fils DMC avec une conversion RVB. Le meilleur que j'ai trouvé est ici : http:// | + | La première chose dont nous avons besoin est un fichier XML qui contient les couleurs de fils DMC avec une conversion RVB. Le meilleur que j'ai trouvé est ici : http:// |
====== 4 ====== | ====== 4 ====== | ||
Ligne 65: | Ligne 65: | ||
Maintenant, nous allons utiliser apsw (ci-dessous), | Maintenant, nous allons utiliser apsw (ci-dessous), | ||
- | Comme toujours, nous commençons | + | Comme toujours, nous commençons |
La partie suivante devrait vous être familière si vous avez lu les articles depuis un certain temps. Nous créons une fonction pour lire le fichier XML et l' | La partie suivante devrait vous être familière si vous avez lu les articles depuis un certain temps. Nous créons une fonction pour lire le fichier XML et l' | ||
Ligne 82: | Ligne 82: | ||
| | ||
+ | |||
+ | Nous commençons par indiquer à la fonction que nous allons utiliser les variables globales connexion et curseur. Nous indiquons ensuite le nom du fichier XML, analysons le fichier XML, et démarrons. Nous utilisons également une variable compteur pour montrer que quelque chose se passe durant les analyses et insertions en base de données. | ||
+ | |||
+ | Maintenant que nous avons toutes nos données, nous devons créer l' | ||
+ | |||
+ | SQL = " | ||
+ | |||
+ | (' | ||
+ | |||
+ | | ||
====== 6 ====== | ====== 6 ====== | ||
Ligne 92: | Ligne 102: | ||
Now we create and/or open the database in the OpenDB routine (bottom right). If you’ve been with us when we have done database work before, you will notice that we are using two cursors this time. The cursor variable is used for the “normal” inserts, and later on in the select statement for the update to set the hex and HSV values. We have to use two cursors, since if you modify a cursor in the middle of a logic statement, you lose everything with the new command. By using ‘ucursor’, | Now we create and/or open the database in the OpenDB routine (bottom right). If you’ve been with us when we have done database work before, you will notice that we are using two cursors this time. The cursor variable is used for the “normal” inserts, and later on in the select statement for the update to set the hex and HSV values. We have to use two cursors, since if you modify a cursor in the middle of a logic statement, you lose everything with the new command. By using ‘ucursor’, | ||
+ | |||
+ | Maintenant, nous affichons dans la fenêtre de terminal que quelque chose se passe : | ||
+ | |||
+ | print " | ||
+ | |||
+ | | ||
+ | |||
+ | Maintenant, nous créons et/ou ouvrons la base de données dans la routine OuvrirBase (en bas à droite). Si vous étiez avec nous quand nous avons travaillé avec les bases de données, vous avez remarqué que nous utilisons deux curseurs cette fois. La variable curseur est utilisé pour les insertions « normales », et plus tard dans l' | ||
====== 7 ====== | ====== 7 ====== | ||
Ligne 102: | Ligne 120: | ||
We next create the hex value from the RGB values (middle left).** | We next create the hex value from the RGB values (middle left).** | ||
+ | |||
+ | Maintenant que la base de données est créée et/ou ouverte, nous pouvons mettre en place notre table (en haut à droite). Notez que l' | ||
+ | |||
+ | La routine ViderTables (au milieu à droite) est là juste pour s' | ||
+ | |||
+ | Si nous devions nous arrêter ici, nous aurions une base de données de travail raisonnable avec les couleurs DMC, leur nom et les valeurs RVB associées à chacune. Cependant, comme je l'ai mentionné précédemment, | ||
+ | |||
+ | Nous créons donc ensuite la valeur hexadécimale pour les valeurs RVB (au milieu à gauche). | ||
====== 8 ====== | ====== 8 ====== | ||
Ligne 117: | Ligne 143: | ||
UpdateDB() | UpdateDB() | ||
print " | print " | ||
+ | |||
+ | La fonction suivante crée les valeurs HSV à partir des valeurs RVB. J'ai trouvé l' | ||
+ | |||
+ | Enfin, nous créons la fonction MAJBase (page suivante, en haut à gauche). Nous utilisons la commande SELECT * FROM DMC et la variable de curseur « standard » pour contenir les données. Nous parcourons | ||
+ | |||
+ | La dernière chose à faire est d' | ||
+ | |||
+ | OuvrirBase() | ||
+ | CreerTables() | ||
+ | ViderTables() # Juste pour etre sur | ||
+ | LireXML() | ||
+ | MAJBase() | ||
+ | print " | ||
====== 9 ====== | ====== 9 ====== | ||
Ligne 126: | Ligne 165: | ||
Until next time, have a good month.** | Until next time, have a good month.** | ||
+ | J'ai nommé ce programme « MakeDB ». La base de données devrait être créée dans le dossier où se trouve le code et le fichier XML. Comme toujours, le code complet peut être trouvé sur http:// | ||
+ | |||
+ | La prochaine fois, nous travaillerons sur l' | ||
- | code en VF : P7gZgNTm | + | Passez un bon mois. À la prochaine fois. |
====== TABLEAUX ====== | ====== TABLEAUX ====== |
issue85/programmer_en_python_p._54.1418141653.txt.gz · Dernière modification : 2014/12/09 17:14 de andre_domenech