Bonjour,
1) Savez-vous s'il est possible en utilisant DrawVectorParagraph de choisir la couleur de fond du paragraphe ?
Pour la couleur de la police utilisée, il existe VectorSourceColor mais je n'ai rien trouvé pour la couleur de fond.
Je voudrais par exemple utiliser DrawVectorParagraph avec une police rouge sur un fond jaune.
Est-ce possible ?
2) D'autre part, mais je pense que ce n'est pas possible, les sauts de ligne ne sont pas gérés avec DrawVectorParagraph
Je voudrais, par exemple, écrire un texte avec des sauts de ligne pour qu'il soit plus aéré, par exemple :
"Chaque sortie de dessin a une unité de mesure par défaut. L'unité par défaut est le pixel pour les écrans ou les images et les points
pour les imprimantes et les images vectorielles.
Il est cependant possible de sélectionner une unité de mesure différente avec ImageVectorOutput(), PrinterVectorOutput() ou une fonction similaire."
Merci à vous
DrawVectorParagraph
- falsam
- Messages : 7244
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: DrawVectorParagraph
Bonjour.
La couleur de fond effectivement il y a un souci. Mais qui peut être contourner.
Pour le saut de ligne il faut utiliser la valeur unicode de #LF$
https://unicode-table.com/en/#000A
Pourquoi deux fois la valeur unicode ? une première fois pour passer à la ligne et une seconde fois pour passer une nouvelle fois à la ligne et créer une ligne blanche
J'ai essayé avec la valeur unicode de #CRLF$. Ca ne fonctionne pas (Sauf erreur de ma part).
Le code exemple avec ce que tu souhaites.
La couleur de fond effectivement il y a un souci. Mais qui peut être contourner.
Pour le saut de ligne il faut utiliser la valeur unicode de #LF$
https://unicode-table.com/en/#000A
Code : Tout sélectionner
SDL$ = Chr($000A) + Chr($000A
J'ai essayé avec la valeur unicode de #CRLF$. Ca ne fonctionne pas (Sauf erreur de ma part).
Le code exemple avec ce que tu souhaites.
Code : Tout sélectionner
; Definir le caractere Saut De ligne (SDL)
Define SDL$ = Chr($000A) + Chr($000A)
Define Texte$ = "Chaque sortie de dessin a une unité de mesure par défaut. L'unité par défaut est le pixel " +
"pour les écrans ou les images et les points pour les imprimantes et les images vectorielles. " + SDL$ +
"Il est cependant possible de sélectionner une unité de mesure différente avec ImageVectorOutput(), " +
"PrinterVectorOutput() ou une fonction similaire."
If OpenWindow(0, 0, 0, 400, 250, "VectorDrawing", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
CanvasGadget(0, 0, 0, 400, 250)
LoadFont(0, "Times New Roman", 20)
If StartVectorDrawing(CanvasVectorOutput(0))
VectorFont(FontID(0), 18)
MovePathCursor(25, 25)
DrawVectorParagraph(Texte$, 350, 200)
StopVectorDrawing()
EndIf
Repeat
Event = WaitWindowEvent()
Until Event = #PB_Event_CloseWindow
EndIf
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
- falsam
- Messages : 7244
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: DrawVectorParagraph
Tu connais les coordonnées de ton paragraphe ? La solution pour la couleur de fond consiste à dessiner un rectangle avec la couleur que tu souhaites au même emplacement et dimension que ton paragraphe.
Code : Tout sélectionner
; Definir le caractere Saut De ligne (SDL)
Define SDL$ = Chr($000A) + Chr($000A)
Define Texte$ = "Chaque sortie de dessin a une unité de mesure par défaut. L'unité par défaut est le pixel " +
"pour les écrans ou les images et les points pour les imprimantes et les images vectorielles. " + SDL$ +
"Il est cependant possible de sélectionner une unité de mesure différente avec ImageVectorOutput(), " +
"PrinterVectorOutput() ou une fonction similaire."
If OpenWindow(0, 0, 0, 400, 250, "VectorDrawing", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
CanvasGadget(0, 0, 0, 400, 250)
LoadFont(0, "Times New Roman", 20)
If StartVectorDrawing(CanvasVectorOutput(0))
; Dessin du rectangle coloré
VectorSourceColor(RGBA(255, 211, 211, 255))
AddPathBox(25, 25, 350, 200)
FillPath()
; Dessin du texte
VectorSourceColor(RGBA(0, 0, 0, 255))
VectorFont(FontID(0), 18)
MovePathCursor(25, 25)
DrawVectorParagraph(Texte$, 350, 200)
StopVectorDrawing()
EndIf
Repeat
Event = WaitWindowEvent()
Until Event = #PB_Event_CloseWindow
EndIf
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Re: DrawVectorParagraph
Bonjour Falsam,
Merci pour le saut de ligne, c'est OK.
Pour la couleur de fond, effectivement j'avais trouvé cette solution de dessiner une rectangle mais j'imaginais qu'il y avait une solution plus académique.
Merci pour le saut de ligne, c'est OK.
Pour la couleur de fond, effectivement j'avais trouvé cette solution de dessiner une rectangle mais j'imaginais qu'il y avait une solution plus académique.