Une source ouverte qui transforme un fichier texte qui suit un format spécifique en un fichier image dans divers formats tels que png, svg et pdf.
Vous pouvez également tester sur le site de démonstration suivant. http://blockdiag.com/ja/blockdiag/demo.html
Procédure d'installation sous Windows.
$ pip install webcolors
$ easy_install pillow
$ easy_install blockdiag
http://blockdiag.com/ja/blockdiag/introduction.html
Préparez les fichiers suivants.
blockdiag {
//Il semble que ce sera un commentaire si le symbole est au début
/*commentaire*/
#commentaire
(commentaire
>commentaire
"commentaire"
//Définissez la police, etc.
default_fontsize = 24;
// -,>Utilisez le sens de la flèche avec
node_id1 -> node_id2;
node_id3 <- node_id4;
node_id5 -- node_id6;
node_id7 <-> node_id8;
//Plusieurs nœuds peuvent être regroupés
//Les nœuds groupés sont entourés d'un cadre de couleur
group {
node_id6; node_id8;
}
}
#conversion png
$ blockdiag simple.diag
#conversion svg
$ blockdiag -Tsvg simple.diag
Attributs pour changer la forme du nœud et les paramètres de police sur le nœud.
article | article内容 | Définir la valeur | Définir la valeur内容 | Exemple de réglage | Valeur par défaut |
---|---|---|---|---|---|
label = String | Définissez la chaîne de caractères affichée sur le nœud. | B [label = "Title"]; | S'il est omis, l'ID de nœud est l'étiquette. | ||
style = Type of line | Spécifiez le type de bordure qui entoure le nœud. | Ligne continue en cas d'omission. | |||
dotted | ligne pointillée. | B [style = dotted]; | |||
dashed | Ligne brisée. | C [style = dashed]; | |||
Number, Number, ... | Spécifiez la longueur de la ligne et la longueur du blanc séparés alternativement par des virgules. | D [style = "3,3,3,3,15,3"]; | |||
color = #RRGGBB or colorname | Spécifiez la couleur d'arrière-plan du nœud. | Blanc si non spécifié. | |||
none | Couleur transparente | B [color = none]; | |||
pink,red,blue,vert etc. | Couleur spécifiée | C [color = pink]; | |||
#NNNNNN | #Format NNNNNN | D [color = "#888888"]; | |||
numbered = Integer | Spécifiez le numéro à afficher dans le coin supérieur droit du nœud. | B [numbered = 99]; | |||
C [numbered = A]; | |||||
shape = Type of shape | Spécifiez la forme du nœud. | Si omis, case | |||
box | Carré | A [shape = "box"]; | |||
routebox | Carré arrondi | A [shape = "roundedbox"]; | |||
diamond | rhombe | A [shape = "diamond"]; | |||
eclipse | ellipse | A [shape = "ellipse"]; | |||
cloud | nuage | A [shape = "cloud"]; | |||
note | Figure abstraite du fichier texte | A [shape = "note"]; | |||
Figure abstraite du courrier | A [shape = "mail"]; | ||||
actor | Humain | A [shape = "actor"]; | |||
minidiam | Petit diamant | A [shape = "minidiamond"]; | |||
beginpoint | Point de départ (point noir) | A [shape = "beginpoint"]; | |||
endpoint | Point final (double cercle) | A [shape = "endpoint"]; | |||
dots | Trois points noirs verticaux | A [shape = "dots"]; | |||
flowchart.condition | Branche (diamant) | A [shape = "flowchart.condition"]; | |||
flowchart.database | Base de données (colonne) | A [shape = "flowchart.database"]; | |||
flowchart.input | Fichier d'entrée (losange) | A [shape = "flowchart.input"]; | |||
flowchart.loopin | Lancer le traitement itératif | A [shape = "flowchart.loopin"]; | |||
flowchart.loopout | Fin du traitement itératif | A [shape = "flowchart.loopout"]; | |||
flowchart.terminator | Traitement (carré arrondi) | A [shape = "flowchart.terminator"]; | |||
background = background image | Spécifiez l'image d'arrière-plan à afficher sur le nœud. Spécifiez par chemin de fichier ou URL. | A [label = "", background = "_static/python-logo.gif"]; | |||
stacked | Placez plusieurs nœuds les uns sur les autres. | A [stacked]; | |||
B[shape = "ellipse", stacked]; | |||||
description = description | Si l'extension Sphinx utilise l'option desctable, un tableau de description pour chaque nœud est affiché sous la figure. | C [label = "Titre", description = "La description"]; | |||
icon = Image file | Spécifiez l'image de l'icône à afficher sur le nœud. Spécifié par le chemin du fichier ou l'URL. | A [icon = "_static/feed-icon-legacy_orange.png "]; | |||
textcolor = #RRGGBB or colorname | Spécifiez la couleur de la chaîne d'étiquette du nœud. | Noir lorsqu'il est omis. | |||
none | Couleur transparente | B [textcolor = none]; | |||
pink,red,blue,vert etc. | Couleur spécifiée | C [textcolor = pink]; | |||
#NNNNNN | #Format NNNNNN | D [textcolor = "#888888"]; | |||
width = Integer | Spécifiez la largeur du nœud. | La valeur par défaut est 128. | |||
height = Integer | Spécifiez la hauteur du nœud. | La valeur par défaut est 40. | |||
fontsize = Integer | Spécifiez la taille de police de l'attribut d'étiquette du noeud. | La valeur par défaut est 11. | |||
rotate = Integer | Spécifiez l'angle de rotation de l'étiquette. 0, 90, 180,Vous pouvez définir n'importe quelle valeur de 270. | La valeur par défaut est 0. | |||
0 | |||||
90 | |||||
180 | |||||
270 |
Une ligne reliant les nœuds.
article | article内容 | Définir la valeur | Définir la valeur内容 | Exemple de réglage | Valeur par défaut |
---|---|---|---|---|---|
label = String | Affichez une courte phrase sur le bord. | ||||
style = Type of edge line | Spécifiez le type de ligne de l'arête. | Ligne continue en cas d'omission | |||
dotted | Connectez-vous avec une ligne pointillée. | A -> B [style = dotted]; | |||
dashed | Connectez-vous avec une ligne brisée. | B -> C [style = dashed]; | |||
none | Effacez le bord. | C -> D [style = none]; | |||
Number, Number, ... | Spécifiez la longueur de la ligne et la longueur du blanc séparés alternativement par des virgules. | D -> E [style = "3,3,3,3,15,3"]; | |||
hstyle = Type of head shape | Spécifiez la forme de la flèche. | ||||
generalization | Généralisation | A -> B [hstyle = generalization]; | |||
composition | Composition | B -> C [hstyle = composition]; | |||
aggregation | Agrégation | C -> D [hstyle = aggregation]; | |||
color = #RRGGBB or colorname | Spécifiez la couleur des bords. | Noir lorsqu'il est omis. | |||
none | Couleur transparente | B -> C [color = "none"]; | |||
pink,red,blue,vert etc. | Couleur spécifiée | B -> C [color = "pink"]; | |||
#NNNNNN | #Format NNNNNN | B -> C [color = "#888888"]; | |||
dir = direction | Spécifiez la direction de la flèche. | ||||
none | Connectez les nœuds sans dessiner de flèche. | A -> B [dir = none]; | |||
forward | Dessinez une flèche du nœud gauche au nœud droit ou du nœud supérieur au nœud inférieur. | B -> C [dir = forward]; | |||
back | Dessinez une flèche du nœud droit au nœud gauche ou du nœud inférieur au nœud supérieur. | C -> D [dir = back]; | |||
both | Écrivez des flèches sur les deux. | D -> E [dir = both]; | |||
folded | Pliez le bord. | C -> D [folded]; | |||
textcolor = #RRGGBB or colorname | Spécifiez la couleur de l'étiquette de bord. Noir lorsqu'il est omis. | ||||
none | Couleur transparente | A -> B[label=title, textcolor=none]; | |||
pink,red,blue,vert etc. | Couleur spécifiée | A -> B[label=title, textcolor=pink]; | |||
#NNNNNN | #Format NNNNNN | A -> B[label=title, textcolor=#888888]; | |||
thick | Épaississez les bords. | B -> D[thick]; | |||
fontsize = Integer | Spécifiez la taille de police de l'étiquette de bord. | A -> B [label='text', fontsize=16]; | La valeur par défaut est 11. |
Paramètres pour la figure entière.
article | article内容 | Définir la valeur | Définir la valeur内容 | Exemple de réglage | Valeur par défaut |
---|---|---|---|---|---|
node_width = Integer | Spécifiez la largeur du nœud. | node_width = 200; | La valeur par défaut est 128. | ||
node_height = Integer | Spécifiez la hauteur du nœud. | node_height = 100; | La valeur par défaut est 40. | ||
span_width = Integer | Spécifiez la largeur entre les nœuds. | span_width = 240; | La valeur par défaut est 64. | ||
span_height = Integer | Spécifiez la largeur verticale entre les nœuds. | span_height = 120; | La valeur par défaut est 40. | ||
default_fontsize = Integer | Spécifiez la taille de police utilisée pour l'attribut d'étiquette du nœud. | default_fontsize = 24; | La valeur par défaut est 11. | ||
default_shape = Shape | Spécifie la forme du nœud par défaut. | La valeur par défaut est box. | |||
box | Carré | ||||
routebox | Carré arrondi | ||||
diamond | rhombe | ||||
eclipse | ellipse | ||||
cloud | nuage | ||||
note | Figure abstraite du fichier texte | ||||
Figure abstraite du courrier | |||||
actor | Humain | ||||
minidiam | Petit diamant | ||||
beginpoint | Point de départ (point noir) | ||||
endpoint | Point final (double cercle) | ||||
dots | Trois points noirs verticaux | ||||
flowchart.condition | Branche (diamant) | ||||
flowchart.database | Base de données (colonne) | ||||
flowchart.input | Fichier d'entrée (losange) | ||||
flowchart.loopin | Lancer le traitement itératif | ||||
flowchart.loopout | Fin du traitement itératif | ||||
flowchart.terminator | Traitement (carré arrondi) | ||||
orientation = portrait | En mode d'écriture verticale. | Lorsqu'il est omis, mode d'écriture horizontale. | |||
default_node_color = #RRGGBB or colorname | Spécifiez la couleur par défaut du nœud. | Blanc lorsqu'il est omis. | |||
none | Couleur transparente | default_node_color = none; | |||
pink,red,blue,vert etc. | Couleur spécifiée | default_node_color = pink; | |||
#NNNNNN | #Format NNNNNN | default_node_color = "#888888"; | |||
default_group_color = #RRGGBB or colorname | Spécifiez la couleur par défaut du groupe. | La valeur par défaut est orange. | |||
none | Couleur transparente | default_group_color = none; | |||
pink,red,blue,vert etc. | Couleur spécifiée | default_group_color = pink; | |||
#NNNNNN | #Format NNNNNN | default_group_color = "#888888"; | |||
default_linecolor = #RRGGBB or colorname | Spécifie la couleur par défaut des bordures et arêtes des nœuds. | Noir lorsqu'il est omis. | |||
none | Couleur transparente | default_linecolor = none; | |||
pink,red,blue,vert etc. | Couleur spécifiée | default_linecolor = pink; | |||
#NNNNNN | #Format NNNNNN | default_linecolor = "#888888"; | |||
default_textcolor = #RRGGBB or colorname | Spécifiez les couleurs par défaut pour les étiquettes de noeud, les étiquettes d'arête et les étiquettes de groupe. | Noir lorsqu'il est omis. | |||
none | Couleur transparente | default_textcolor = none; | |||
pink,red,blue,vert etc. | Couleur spécifiée | default_textcolor = pink; | |||
#NNNNNN | #Format NNNNNN | default_textcolor = "#888888"; | |||
edge_layout = normal or flowchart | Spécifiez la règle de disposition des arêtes expérimentale. |
Recommended Posts