Mai 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | | Calendrier |
|
| | PRINT dans un Picture: interligne trop petit | |
| | Auteur | Message |
---|
JL35
Nombre de messages : 7095 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: PRINT dans un Picture: interligne trop petit Jeu 21 Oct 2010 - 16:50 | |
| Si on fait des Print successifs dans un Picture, l'interligne généré n'est pas fonction de la taille de la police utilisée, ce qui amène l'affichage d'une ligne à tronquer le bas de la ligne précédente: - Code:
-
PICTURE 1: WIDTH 1, 200: HEIGHT 1, 100 PRINT_TARGET_IS 1: FONT_NAME 1, "Lucida Console" FONT_SIZE 1, 8: PRINT " [taille 8]": PRINT "[taille 8]": PRINT FONT_SIZE 1, 20:PRINT " [taille 20]": PRINT "[taille 20]" (mon but était de calculer la hauteur d'une ligne en pixels en fonction de la police et de la taille). | |
| | | Nardo26
Nombre de messages : 2294 Age : 55 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: PRINT dans un Picture: interligne trop petit Jeu 21 Oct 2010 - 17:57 | |
| Moi aussi je suis bien embêté avec ça.... pour les LIST graphique... | Peut être en détectant le premier pixel et le dernier pixel du caractère '|' cela donnera la taille approximative. En cherchant un peu, ya un gars qui dis que : - Citation :
- Sous Windows, 1 point = 1,3 pixels.
Pour une police de 36, mon exemple, ça ferait des caractères hauts de 36*1,3 = 46,8 pixels. A vérifier.... [Edit] Ca à l'air de marcher ! - Code:
-
PICTURE 1: WIDTH 1, 400: HEIGHT 1, 200 PRINT_TARGET_IS 1: FONT_NAME 1, "Lucida Console" DIM TAILLE% TAILLE%=17 2d_target_is 1 FOR TAILLE%=3 TO 30 FONT_SIZE 1, TAILLE% PRINT_Y_LOCATE TAILLE%*1.3: PRINT_X_LOCATE 2 PRINT " [taille "+str$(TAILLE%)+"]" PRINT_Y_locate (2*TAILLE%*1.3):PRINT_X_LOCATE 2 PRINT " [taille "+str$(TAILLE%)+"]" WAIT 500 2d_rectangle 0,0,width(1),height(1) NEXT TAILLE%
[/Edit]
Dernière édition par Nardo26 le Jeu 21 Oct 2010 - 18:10, édité 1 fois | |
| | | JL35
Nombre de messages : 7095 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: PRINT dans un Picture: interligne trop petit Jeu 21 Oct 2010 - 18:07 | |
| Merci Nardo pour le renseignement, ça peut toujours servir. D'ailleurs j'en étais arrivé plus ou moins là de manière empirique. N'empêche que l'interligne n'est pas correct, et qu'il faut calculer et positionner chaque affichage par Print_Locate, alors que ça devrait être fait automatiquement par Panoramic, comme dans n'importe quel traitement de textes. | |
| | | Nardo26
Nombre de messages : 2294 Age : 55 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: PRINT dans un Picture: interligne trop petit Jeu 21 Oct 2010 - 18:22 | |
| pas forcement évident, dès qu'on commence à jouer avec la taille des caractères, la gestion du CR+LF devient compliquée...
| |
| | | JL35
Nombre de messages : 7095 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: PRINT dans un Picture: interligne trop petit Jeu 21 Oct 2010 - 18:44 | |
| J'ajouterai pour pinailler un peu que j'obtiens un résultat exact avec un facteur de 1.33 au lieu de 1.3 (j'affiche côte à côte deux listes identiques avec la même police, même taille (30), d'une part avec Panoramic avec print_locate en appliquant le facteur d'interligne, d'autre part avec plusieurs traitements de texte Windows, 1.3 est un poil juste, 1.33 est exact, les listes sont parfaitement alignées) | |
| | | Invité Invité
| Sujet: Re: PRINT dans un Picture: interligne trop petit Jeu 21 Oct 2010 - 20:22 | |
| Bonsoir, J'ai apporté une petite modif, il y a une chose qu'il faut tenir compte, c'est le fond. - Code:
-
PICTURE 1: WIDTH 1, 400: HEIGHT 1, 200 PRINT_TARGET_IS 1: FONT_NAME 1, "Lucida Console" DIM TAILLE% TAILLE%=17 2d_target_is 1 FOR TAILLE%=3 TO 30 FONT_SIZE 1, TAILLE% :2d_fill_color 255,0,0 PRINT_Y_LOCATE TAILLE%*1.33: PRINT_X_LOCATE 2 PRINT " [taille "+str$(TAILLE%)+"]" PRINT_Y_locate (2*TAILLE%*1.33):PRINT_X_LOCATE 2 PRINT " [taille "+str$(TAILLE%)+"]" WAIT 1000 :2d_fill_color 255,255,255 2d_rectangle 0,0,width(1),height(1) NEXT TAILLE% Il y a une petite différence dans certain cas. |
| | | JL35
Nombre de messages : 7095 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: PRINT dans un Picture: interligne trop petit Jeu 21 Oct 2010 - 21:16 | |
| Ou encore, en reprenant ton exemple: - Code:
-
HEIGHT 0, 700: PICTURE 1: WIDTH 1, 480: HEIGHT 1, 650 PRINT_TARGET_IS 1: FONT_NAME 1, "Lucida Console" DIM TAILLE%, y%, h, fr 2d_target_is 1: y% = 0 FOR TAILLE%= 8 TO 30 FONT_SIZE 1, TAILLE%: 2d_fill_color 255,0,0 PRINT_LOCATE 2, y%: h = TAILLE%*1.33: fr = h-INT(h): ' partie fractionnaire h = INT(h): IF fr >= .5 THEN h = h + 1: ' arrondi à l'entier le plus proche PRINT " [taille "+str$(TAILLE%)+"]" + " h=" + str$(h) y% = y% + h NEXT TAILLE% Si dans l'exemple ci-dessus on fait y% = y% + h + 1 , on obtient bien une ligne blanche d'1 pixel entre les affichages, la hauteur h calculée doit donc bien être correcte. | |
| | | Contenu sponsorisé
| Sujet: Re: PRINT dans un Picture: interligne trop petit | |
| |
| | | | PRINT dans un Picture: interligne trop petit | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |