DrawRotatedText qualité police laisse à désiré

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Shadow
Messages : 1413
Inscription : mer. 04/nov./2015 17:39

DrawRotatedText qualité police laisse à désiré

Message par Shadow »

Salut,

Je trouve que DrawRotatedText utilise une mauvaise qualité de police, le rendus est mauvais...
Même avec l'option #PB_Font_HighQuality activé, ça change rien :|
Une idée ?

Code : Tout sélectionner

If OpenWindow(0, 0, 0, 200, 200, "DrawRotatedText Exemple", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  a = LoadFont(#PB_Any, "", 0, #PB_Font_HighQuality)
  If CreateImage(0, 200, 200) And StartDrawing(ImageOutput(0))
    Box(0, 0, 200, 200, RGB(255, 255, 255))
    DrawingFont(FontID(a))
    
    For Angle = 0 To 360 Step 45
      DrawRotatedText(100, 100, "Hello World!", Angle, RGB(0, 0, 0))
    Next Angle
    StopDrawing() 
    ImageGadget(0, 0, 0, 200, 200, ImageID(0))
  EndIf
  
  Repeat
    Event = WaitWindowEvent()
  Until Event = #PB_Event_CloseWindow
EndIf
Processeur: Intel Core I7-4790 - 4 Cœurs - 8 Thread: 3.60 Ghz.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.

PureBasic: 5.60 x64 Bits.
Avatar de l’utilisateur
SPH
Messages : 4947
Inscription : mer. 09/nov./2005 9:53

Re: DrawRotatedText qualité police laisse à désiré

Message par SPH »

Plutot bien je trouve ! 8)
Image

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Mesa
Messages : 1126
Inscription : mer. 14/sept./2011 16:59

Re: DrawRotatedText qualité police laisse à désiré

Message par Mesa »

Si, mais tu l'as déjà trouvé, c'est la bibliothèque vectordrawing qui utilise l'antialiasing.

Si tu veux faire une animation comme du texte tournant, rien ne sera mieux que d'utiliser les bibliothèque screen et sprite, elles sont faites pour.

Cependant, sous windows seulement, le mieux que l'on puisse avoir sans directx est d'utiliser la solution ici:
http://www.purebasic.fr/english/viewtop ... rawing.pbi
Télécharge gDrawing_v0.85b2.zip et regarde l'exemple22.

Essai ce code:

Code : Tout sélectionner

;EnableExplicit

;#gDrawing_NO_DLL_IMPORT = 1

XIncludeFile "gDrawing.pbi"

Global metafile, mainWin, canvas, angle.f

Procedure OnTimer()
  Protected windowWidth  = WindowWidth(mainWin)
  Protected windowHeight = WindowHeight(mainWin)
  If gStartDrawing( CanvasOutput(canvas) )
    gClear(RGBA($80,$80,$80,$FF))
    gSetPenColor(RGBA(0,0,0,$FF))
    gSetFont("Arial",20,#PB_Font_Bold)
    height = gTextHeight()
    angle=angle + 3;angle + 0.1
    gDrawRotatedFormattedText(100,100,350,height,"http://www.purebasic.com/news/",angle,RGBA(255,255,0,255))
    
    gStopDrawing()
  EndIf
EndProcedure

Procedure OnSize()
  ResizeGadget(canvas,0,0,WindowWidth(mainWin),WindowHeight(mainWin))
  OnTimer()
EndProcedure


If gInit()
  
  mainWin  = OpenWindow(#PB_Any  , 0, 0, 600,600,"gDrawing feature demo",#PB_Window_SystemMenu|#PB_Window_ScreenCentered|#PB_Window_SizeGadget)
  canvas   = CanvasGadget(#PB_Any, 0, 0, WindowWidth(mainWin),WindowHeight(mainWin))
  WindowBounds(mainWin,100,100,800,600)
  AddWindowTimer(mainWin, 0, 16)
  BindEvent(#PB_Event_Timer     , @OnTimer())
  BindEvent(#PB_Event_SizeWindow, @OnSize())
  Repeat : Until WaitWindowEvent()=#PB_Event_CloseWindow
  
  gEnd()
EndIf

M.
Shadow
Messages : 1413
Inscription : mer. 04/nov./2015 17:39

Re: DrawRotatedText qualité police laisse à désiré

Message par Shadow »

Merci Mesa,

En faite c'est pour mon bouton...
C'est quoi cette lib de fou là ?
A quoi elle sert, c'est un mastodonte !

Et DrawRotatedText n'est pas vectordrawing !
Rien a voir !
Processeur: Intel Core I7-4790 - 4 Cœurs - 8 Thread: 3.60 Ghz.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.

PureBasic: 5.60 x64 Bits.
Marc56
Messages : 2198
Inscription : sam. 08/févr./2014 15:19

Re: DrawRotatedText qualité police laisse à désiré

Message par Marc56 »

16 Octobre 2015 : Version 5.40 LTS
- Ajouté: Nouvelle bibliothèque Vectorielle 2D
https://www.purebasic.com/french/docume ... story.html


PureBasic - VectorDrawing
https://www.purebasic.com/french/docume ... index.html
Shadow
Messages : 1413
Inscription : mer. 04/nov./2015 17:39

Re: DrawRotatedText qualité police laisse à désiré

Message par Shadow »

Bon je crois que ont ne se comprends pas...
DrawRotatedText NE FAIS PAS PARTIE DE VECTORDRAWING !!!

Maintenant peut être que tu me dit "Utilise la Lib VectorDrawing au lieux de DrawRotatedText" ???
C'est une bonne idée ça merci.
Processeur: Intel Core I7-4790 - 4 Cœurs - 8 Thread: 3.60 Ghz.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.

PureBasic: 5.60 x64 Bits.
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: DrawRotatedText qualité police laisse à désiré

Message par Ar-S »

Shadow a écrit :Bon je crois que ont ne se comprends pas...
DrawRotatedText NE FAIS PAS PARTIE DE VECTORDRAWING !!!
Maintenant peut être que tu me dit "Utilise la Lib VectorDrawing au lieux de DrawRotatedText" ???
C'est une bonne idée ça merci.
Pour info Mesa ecrit la doc en fr donc je pense qu'il sait que DrawRotatedText n'est pas du vectordrawing...
Il te dit juste que l'antialiasing (ce qui fait que l'image soit adoucie) est dispo sur vectordrawing et pas via drawtext classique.
Excuse le de te conseiller.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Shadow
Messages : 1413
Inscription : mer. 04/nov./2015 17:39

Re: DrawRotatedText qualité police laisse à désiré

Message par Shadow »

Ah non autant pour moi, j'avais pas compris en faite, merci Mesa :)
Dur de la feuille moi peut être, pas compris j'y peux rien :)
Processeur: Intel Core I7-4790 - 4 Cœurs - 8 Thread: 3.60 Ghz.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.

PureBasic: 5.60 x64 Bits.
Répondre