La documentation donne :
The
sizeroutine specifies the dimensions of the desired picture:void size(picture pic=currentpicture, real x, real y=x, bool keepAspect=Aspect);If the
xandysizes are both 0, user coordinates will be interpreted asPostScriptcoordinates. In this case, the transform mappingpicto the final output frame isidentity().If exactly one of
xoryis 0, no size restriction is imposed in that direction; it will be scaled the same as the other direction.If
keepAspectis set toAspectortrue, the picture will be scaled with its aspect ratio preserved such that the final width is no more thanxand the final height is no more thany.If
keepAspectis set toIgnoreAspectorfalse, the picture will be scaled in both directions so that the final width isxand the height isy.
Reprise des exemples trouvés ici. Pour les exemples qui suivent, le code est toujours le même, à savoir :
< partie variable du code > pair A, B, C, D; A=(0,0); B=(2,0); C=(4,0); D=(4,2); draw (A--B); draw (C--D);
Exemple 1
Si l’on met size(0,0); alors on obtient :
Aucune restriction en x et y, l’unité par défaut est 1/72 in.
Exemple 2
Si l’on met size(1cm,0); alors on obtient :
La largeur de l’image sera de 1 cm, aucune restriction pour la hauteur.
Exemple 3
Si l’on met size(3cm,0); alors on obtient :
La largeur de l’image sera de 3 cm, aucune restriction pour la hauteur.
Exemple 4
Si l’on met size(1cm,.5cm); alors on obtient :
Les dimensions de l’image seront de 1 cm maximum en x et 0,5 cm maximum en y, en respectant ses proportions (rappel : l’image a un rapport r=largeur/hauteur=4/2=2).
Exemple 5
Si l’on met size(3cm,.5cm); alors on obtient :
Les dimensions de l’image seront 3 cm maximum en x et 0,5 cm maximum en y, en respectant ses proportions. Si l’on joue sur la largeur, on aurait une nouvelle largeur égale à 3 cm et une hauteur égale à 1,5 cm > 0,5 cm. On joue alors sur la hauteur : la nouvelle hauteur est de 0,5 cm et la nouvelle largeur est de 1 cm.
Exemple 6
Si l’on met size(3cm,.5cm,false); alors on obtient :
Les dimensions seront exactement de 3 cm x 0,5 cm puisque les proportions de l’image ne sont pas respectées.
Exemple 7
Si l’on met size(1cm,3cm,false); alors on obtient :
Les dimensions de l’image seront exactement 1 cm x 3 cm puisque les proportions de l’image ne sont pas respectées.





