Accueil arrow Forums
wimsedu le forum
Bienvenue, Invité
Merci de vous identifier ou de vous inscrire.    Mot de passe perdu?
Re:Probleme avec imagefill (1 lecteur(s)) (1) Invité(s)
Aller en bas Répondre Ajouté aux favoris : 0
SUJET: Re:Probleme avec imagefill
#1326
Julien (Utilisateur)
Expert Boarder
Messages: 102
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
Probleme avec imagefill Il y a 14 Années, 7 Mois Karma: 3  
Bonjour,
Les 2 dernières images apparaissent correctement et la première est plus petite et moins claire. Pourtant j'ai respecté la taille en pixel.
Existe-il une incompatibilité entre les slib et imagefill????

Code :

\integer{v=100+50*\n} \text{C=slib(graphpaper/millimetre 15,24,,,1,\v,,,,0,0,1,100,2,300)} \text{url = draw(600,800 \C)} \statement{ \special{imagefill \url,800x600,40x20 reply1, 100x200 reply2, 200x50} <br> \draw{600,800}{\C} <br> <img src="\url"> } \answer{}{2}{type=clickfill} \answer{}{3}{type=clickfill}
 
  L'administrateur a désactivé l'accès public en écriture.
#1327
byache (Utilisateur)
Expert Boarder
Messages: 121
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
Sexe: Masculin MathFle Lieu: Marseille
Re:Probleme avec imagefill Il y a 14 Années, 7 Mois Karma: 0  
Non, en fait, quand on regarde les propriétés des images affichées, on s'aperçoit que la première a bien pour dimensions 600x800 alors que les deux autres font 900 sur 1440.

Cela vient du fait que la commande générée par la slib (et qui est stockée danc \C) commence par "new 900, 1440". Du coup il y a une contradiction entre cette instruction et l'instruction donnée auparavant : "draw(600,800)". Apparemment, c'est l'instruction donnée en dernier qui gagne...
 
  L'administrateur a désactivé l'accès public en écriture.
#1331
Julien (Utilisateur)
Expert Boarder
Messages: 102
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
Re:Probleme avec imagefill Il y a 14 Années, 7 Mois Karma: 3  
Ok Merci.

Pour enlever l'interférence entre les 2, j'ai modifiée le code comme ci-dessous car la slib(graphpaper/millimetre... déteste le redimensionnement.

Code :

\special{imagefill \url,900x1440,40x20 reply1, 100x200 reply2, 200x50}
 
  L'administrateur a désactivé l'accès public en écriture.
#1338
georgesk (Utilisateur)
Fresh Boarder
Messages: 6
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
Re:Probleme avec imagefill Il y a 14 Années, 7 Mois Karma: 0  
Les deux premiers paramètres pour slib(graphpaper/millimetre) sont les largeurs et hauteurs en « centimètres ». La bibliothèque dimensionne automatiquement l'image à 60 pixels par centimètres en se basant sur ces deux paramètres. Quant à l'appel à draw, il faut obligatoirement passer deux nombres à cause de la syntaxe obligatoire, mais ces deux nombres peuvent aussi bien être (zéro, zéro) car ils sont écrasés par le fonctionnement de la bibliothèque.

Ce que je peux faire, c'est *documenter* que la dimension du graphique est censé être 60 fois la dimansion précisée lors de l'appel à graphpaper/millimetre.

Voyez-vous une autre solution ?
 
  L'administrateur a désactivé l'accès public en écriture.
#1339
Julien (Utilisateur)
Expert Boarder
Messages: 102
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
Re:Probleme avec imagefill Il y a 14 Années, 7 Mois Karma: 3  
Non c'est très bien comme ça.

Vu le pseudo c'est toi qui a écrit la slib donc j'ai 2 ou 3 suggestions pour améliorer la librairie.

Les points en forme de plus car ils correspondent bien à l'intersection d'une droite verticale et horizontale.

La possibilité de ne pas faire apparaître la graduation sur les 2 axes.

La possibilité de mettre le nom des axes plus l'échelle plus plus ... dans un bloc qui se redimensionne selon la taille du contenu.

En effet le code suivant ne retourne pas un affichage de qualité.

Code :

\text{C=slib(graphpaper/millimetre 15,24,,,1 t (en heure),\v vitesse en Km/H,,,,0,0,1,100,2,300)}
Je suis quand même bien content de trouver ta lib. A++
 
  L'administrateur a désactivé l'accès public en écriture.
#1415
Julien (Utilisateur)
Expert Boarder
Messages: 102
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
Re:Probleme avec imagefill Il y a 14 Années, 6 Mois Karma: 3  
Bonjour,

J'ai réalisé 2 ou 3 modifs de la slib graphpaper/millimetre.
J'ai rajouté la possibilité d'afficher ou non les graduations. Affichage des graduations par defaut
La possibilité de tracer des + pour les points au lieu de *. Affichage + par defaut

Est-il possible que vous modifiez votre librairie dans ce sens????

La commande suivante : find /var/lib/wims -exec grep -ls -la "graphpaper\/millimetre" {} \;
me renvoit les fichiers impactées par la modification :
Je suis sur la version 3.64 de WIMS.


/var/lib/wims/public_html/modules/H4/physics/refraction1.fr/var.proc
/var/lib/wims/public_html/modules/H4/physics/refraction1.fr/NEWS
/var/lib/wims/public_html/modules/H4/physics/pendule1.fr/var.proc1
/var/lib/wims/public_html/modules/H4/physics/pendule1.fr/var.proc4
/var/lib/wims/public_html/modules/H4/physics/pendule1.fr/var.proc3
/var/lib/wims/public_html/modules/H4/physics/pendule1.fr/var.proc2
/var/lib/wims/public_html/modules/H4/physics/oefrefraction1.fr/var.proc
/var/lib/wims/public_html/modules/H4/physics/oefrefraction1.fr/NEWS
/var/lib/wims/public_html/scripts/slib/mkindex.log
/var/lib/wims/public_html/scripts/slib/index.phtml
/var/lib/wims/public_html/scripts/slib/graphpaper/strings
/var/lib/wims/public_html/scripts/slib/graphpaper/func_milli
/var/lib/wims/public_html/scripts/slib/graphpaper/correct_milli
/var/lib/wims/public_html/scripts/slib/graphpaper/tograph
/var/lib/wims/public_html/scripts/slib/graphpaper/whereclick
/var/lib/wims/public_html/scripts/slib/graphpaper/imgpoints
/var/lib/wims/public_html/scripts/slib/graphpaper/func


Code :

!if $wims_read_parm!=slib_header !goto proc !endif slib_title=Graphic paper sheet slib_parms=12\ 8,x_dimension (cm) \ 8,y_dimension (cm) \ 1,x_orig (cm) \ 1,y_orig (cm) \ 1,grad (affichage des graduations 0 absence des graduations, 2 uniquement sur l'axe des x, 3 uniquement l'axes des y) \ 1,x_step (delta x for 1 cm on the paper or max value for x and optional label ) \ 1,y_step (delta y for 1 cm on the paper or max value for y and optional label) \ [240,233,255],background color \ [255,220,180],lines color \ 1,formdot ( plus par defaut, 0 multiplier) \ [10,10,10],dots color \ void,list of dots (an even count of coordinates : x1,y1,x2,y2,etc.) slib_author=Georges KHAZNADAR slib_out=Source for insdraw-ing a graph paper with the dots on it slib_comment=if color are three numbers, \ put them in brackets ; there may be no dots.<br> \ The syntax for x_step and y_step is the following : a bare number is for deltaX or deltaY, a number followed by the \ word "max" means a maximum value, any other words are interpreted \ like a label for the axis. slib_example= ,,,,,,,,,0,0,1.2,1.5,2.4,3.2\ 12,8,0,0,1 max t (ms),1 max U (V),blue,red,[255,128,128],0,0,1.2,1.5,2.4,3.2 !exit :proc !reset slib_formdot,slib_grad,slib_xd, slib_yd, slib_bg, slib_lc, slib_dc, slib_point, slib_xo, slib_yo, slib_xs, slib_ys, slib_labx, slib_laby, slib_maxx, slib_maxy slib_parm=!item 1 to 11 of $wims_read_parm !distribute item $slib_parm into slib_xd, slib_yd, slib_xo, slib_yo, slib_grad, slib_xs, slib_ys, slib_bg, slib_lc, slib_dc, slib_formdot slib_point=!item 12 to -1 of $wims_read_parm !default slib_xd=8 !default slib_yd=8 !default slib_xo=1 !default slib_yo=1 !default slib_xs=1 !default slib_ys=1 !default slib_grad=1 !default slib_formdot=1 slib_labx=!word 2 to -1 of $slib_xs slib_laby=!word 2 to -1 of $slib_ys slib_xs=!word 1 of $slib_xs slib_ys=!word 1 of $slib_ys slib_maxx=!word 1 of $slib_labx !if $slib_maxx = max slib_labx = !word 2 to -1 of $slib_labx !! we need to compute the X step slib_xs, given the values !! of the total width slib_xd, abscissa of origin slib_xo !! and knowing that slib_xs currently means a maximum value. !! slib_xd-slib_xo must be be sufficient to display ticks greater !! than the current value of slib_xs, the tick step being a multiple !! of 1, 2 or 5. slib_log=$[log10($slib_xs/($slib_xd-$slib_xo))] slib_logint=$[floor($slib_log)] slib_logmant=$[$slib_log-$slib_logint] !if $slib_logmant > $[log10(5)] slib_xs=1e$[$slib_logint+1] !else !if $slib_logmant > $[log10(2)] slib_xs=5e$slib_logint !else slib_xs=2e$slib_logint !endif !endif !else slib_maxx=$empty !endif slib_maxy=!word 1 of $slib_laby !if $slib_maxy = max slib_laby = !word 2 to -1 of $slib_laby !! we need to compute the Y step slib_ys, given the values !! of the total height slib_yd, ordinate of origin slib_yo !! and knowing that slib_ys currently means a maximum value. !! slib_yd-slib_yo must be be sufficient to display ticks greater !! than the current value of slib_ys, the tick step being a multiple !! of 1, 2 or 5. slib_log=$[log10($slib_ys/($slib_yd-$slib_yo))] slib_logint=$[floor($slib_log)] slib_logmant=$[$slib_log-$slib_logint] !if $slib_logmant > $[log10(5)] slib_ys=1e$[$slib_logint+1] !else !if $slib_logmant > $[log10(2)] slib_ys=5e$slib_logint !else slib_ys=2e$slib_logint !endif !endif !else slib_maxy=$empty !endif slib_dc=!declosing $slib_dc slib_point=!declosing $slib_point slib_bg=!declosing $slib_bg !default slib_bg=240,233,255 slib_lc=!declosing $slib_lc !default slib_lc=255,220,180 slib_dc=!declosing $slib_dc !default slib_dc=10,10,10 !!!!!!!!!!!!!!!!! begin grid !!!!!!!!!!!!!!!!!!!!!!!!! slib_grey=128,128,128 slib_dessin = new 60*$slib_xd,60*$slib_yd\ xrange -0.5, 10*$slib_xd-0.5\ yrange -0.5, 10*$slib_yd-0.5\ fill 1,1,$slib_bg !! traits fins tous les millimetres slib_dessin=$slib_dessin\ linewidth 1\ parallel 0, 0, 0, 10*$slib_yd, 1, 0, 10*$slib_xd+1, $slib_lc\ parallel 0, 0, 10*$slib_xd, 0, 0, 1, 10*$slib_yd+1, $slib_lc !! traits gros tous les centimetres slib_dessin=$slib_dessin\ linewidth 3\ parallel 0, 0, 0, 10*$slib_yd, 10, 0, $slib_xd+1, $slib_lc\ parallel 0, 0, 10*$slib_xd, 0, 0, 10, $slib_yd+1, $slib_lc !! axe_x slib_dessin=$slib_dessin\ linewidth 3\ hline 0, $[10*$slib_yo], $slib_grey\ line $[10*$slib_xd-3],$[10*$slib_yo-1],$[10*$slib_xd-1],$[10*$slib_yo], $slib_grey\ line $[10*$slib_xd-3],$[10*$slib_yo+1],$[10*$slib_xd-1],$[10*$slib_yo], $slib_grey\ parallel 0,$[10*$slib_yo+1],0,$[10*$slib_yo-1], 10, 0, $slib_xd+1, $slib_grey slib_val=$[-$slib_xo*$slib_xs] slib_dessin=$slib_dessin\ linewidth 1 !if ($slib_grad=2 or $slib_grad=1) !for slib_x from 0 to 10*$slib_xd step 10 slib_dessin=$slib_dessin\ text blue,$[$slib_x+1],$[10*$slib_yo-1],medium,$slib_val slib_val=$[$slib_val+$slib_xs] !next slib_x !if $slib_labx != $empty slib_dessin=$slib_dessin\ text blue,$[$slib_x-20],$[10*$slib_yo-6],medium,$slib_labx !endif !endif !! axe_y slib_dessin=$slib_dessin\ linewidth 3\ vline $[10*$slib_xo],0, $slib_grey\ line $[10*$slib_xo-1],$[10*$slib_yd-3],$[10*$slib_xo],$[10*$slib_yd-1], $slib_grey\ line $[10*$slib_xo+1],$[10*$slib_yd-3],$[10*$slib_xo],$[10*$slib_yd-1], $slib_grey\ parallel $[10*$slib_xo+1],0,$[10*$slib_xo-1], 0, 0, 10, $slib_yd+1, $slib_grey slib_val=$[-$slib_yo*$slib_ys] slib_dessin=$slib_dessin\ linewidth 1 !if ($slib_grad=3 or $slib_grad=1) !for slib_y from 0 to 10*$slib_yd step 10 slib_dessin=$slib_dessin\ text blue,$[10*$slib_xo+1],$[$slib_y-1],medium,$slib_val slib_val=$[$slib_val+$slib_ys] !next slib_y !if $slib_laby != $empty slib_dessin=$slib_dessin\ text blue,$[10*$slib_xo-9],$[$slib_y-10],medium,$slib_laby !endif !endif !!!!!!!!!!!!!!!!! end grid !!!!!!!!!!!!!!!!!!!!!!!!! slib_i=0 !for slib_xy in $slib_point !if $slib_i=0 slib_i=1 slib_x=$[10*$slib_xy/$slib_xs] !goto continue !endif !if $slib_i=1 slib_i=0 slib_y=$[10*$slib_xy/$slib_ys] !if $slib_formdot=0 slib_x1=$[10*$slib_xo+$slib_x-0.6] slib_x2=$[10*$slib_xo+$slib_x+0.6] slib_y1=$[10*$slib_yo+$slib_y-0.6] slib_y2=$[10*$slib_yo+$slib_y+0.6] slib_dessin=$slib_dessin\ linewidth 2\ line $slib_x1,$slib_y1,$slib_x2,$slib_y2,$slib_dc\ line $slib_x2,$slib_y1,$slib_x1,$slib_y2,$slib_dc !endif !if $slib_formdot=1 slib_x1=$[10*$slib_xo+$slib_x-1] slib_x2=$[10*$slib_xo+$slib_x+1] slib_x3=$[10*$slib_xo+$slib_x] slib_y1=$[10*$slib_yo+$slib_y] slib_y2=$[10*$slib_yo+$slib_y+1] slib_y3=$[10*$slib_yo+$slib_y-1] slib_dessin=$slib_dessin\ linewidth 2\ line $slib_x1,$slib_y1,$slib_x2,$slib_y1,$slib_dc\ line $slib_x3,$slib_y2,$slib_x3,$slib_y3,$slib_dc !endif !endif :continue !next slib_xy slib_out= $slib_dessin
 
  L'administrateur a désactivé l'accès public en écriture.
#1438
georgesk (Utilisateur)
Fresh Boarder
Messages: 6
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
Re:Probleme avec imagefill Il y a 14 Années, 6 Mois Karma: 0  
De bonnes idées. Mais il faudra la jouer plus finement, pour conserver la compatibilité amont.
Écris-moi à Cet e-mail est protégé contre les robots collecteurs de mails, votre navigateur doit accepter le Javascript pour le voir

Je propose d'ajouter la possibilité d'écrire des choses comme :
styl.grad=1, style.dot=0 juste avant la liste éventuelle de coordonnées de points. Comme
il s'agit de paramètres optionnels, ça ne modifierait en rien le comportement des modules
déjà publiés, ou de ceux qui le sont dans des espaces privés.
 
  L'administrateur a désactivé l'accès public en écriture.
Revenir en haut Répondre
Développé par FireBoardObtenir les derniers messages directement sur votre PC
© 2024 WimsEdu
Joomla! est un logiciel libre distribué sous licence GNU/GPL.