Page 1 sur 1

LoadFont() problème de taille

Publié : sam. 23/avr./2005 19:08
par julien
Salut,
Pour la commande : LoadFont(#Police, NomPolice$, Taille [, Options])

La taille est en pixel ?, parceque si je met 20 en taille la sortie est miniscule !

Publié : sam. 23/avr./2005 19:49
par Le Soldat Inconnu
La taille est en point

et 20, c'est énorme normalement

Tu as mis quoi comme code ?

Publié : sam. 23/avr./2005 21:32
par julien

Code : Tout sélectionner

Procedure xcm(x.f)

result = x * (PrinterPageWidth()/21) ; 21cm A4
ProcedureReturn result

EndProcedure


Procedure ycm(x.f)

result = x * (PrinterPageHeight()/29.7) ; 29,7cm A4
ProcedureReturn result

EndProcedure
 
 
 PrintRequester()
 StartPrinting("test")
 StartDrawing(PrinterOutput())

Locate(xcm(0.5), ycm(1))
DrawingFont(LoadFont(0, "Arial", 20, #PB_Font_Bold) ) 
DrawText("Hello")
StopDrawing()
 StopPrinting()

Et ça sort en minuscule

Publié : sam. 23/avr./2005 21:35
par Le Soldat Inconnu
ça imprime en minuscule tu veux dire ?

tu n'aurais un prob de résolution ?

elle fait qu'elle taille, l'image que tu imprimes ?

Publié : sam. 23/avr./2005 21:37
par julien
c'est pas une image mais du texte

Publié : sam. 23/avr./2005 21:49
par Le Soldat Inconnu
que tu dessines ;)

chez moi, la largeur de la page est de 18743368 px
donc oui, ton texte est minuscule.

il faudrait convertir les points pour adapter la taille du texte

mais un point vaut combien de pixel ?

Publié : sam. 23/avr./2005 21:59
par julien
par contre si on désactive la ligne
DrawingFont(LoadFont(0, "Arial", 20, #PB_Font_Bold) )

le texte est plus gros...
J'arrive pas à voir comment fonctionne les fonctions pour imprimer..

Publié : sam. 23/avr./2005 22:08
par Le Soldat Inconnu
oui, pas très clair, cette histoire

donne voir la valeur de textlength(Txt.s) quand tu dessines avec la police par défaut et avec ta police perso ?

Publié : sam. 23/avr./2005 22:15
par julien
avec police perso : 68
avec police defaut : 118

Publié : sam. 23/avr./2005 22:30
par julien
dans l'exemple de Pure,

Code : Tout sélectionner

DrawingFont(LoadFont(0, "Arial", 100))

Il y' a 100 en taille ce qui me fait une sortie imprimante d'une police de 0.8 mm

Publié : dim. 24/avr./2005 8:55
par Jacobus
Il se peut aussi que cela vienne de l'imprimante
En particulier si tu utilises une HP
J'ai le même problème que toi, mais uniquement avec les HP alors que sur Epson tout baigne. Tu devrais essayer d'utiliser ton prog sur deux machines différentes pour comparer. Il n'empêche que je ne comprend pas pourquoi... Le printer driver ne doit pas recevoir les informations de la même façon. :?:

Publié : dim. 24/avr./2005 9:56
par julien
J'ai une Canon S450
Avez vous esayer d'imprimer l'exemple de la rubrique Printer et de mesurer les caractères de sortie ?

Code : Tout sélectionner

If PrintRequester()

  If StartPrinting("PureBasic Test")
  
    If StartDrawing(PrinterOutput())

      DrawingFont(LoadFont(0, "Arial", 30))
  
      Locate(100, 100) : DrawText("PureBasic Printer Test")
      
      DrawingFont(LoadFont(0, "Arial", 100))
      
      Locate(100, 400) : DrawText("PureBasic Printer Test 2")
    
      If LoadImage(0, "Data\PureBasic.bmp")
        DrawImage(ImageID(), 200, 600)
      Else
        MessageRequester("","2",0)
      EndIf
      
      FrontColor(100,100,100)
      Box(200, 600, 100, 100)
        
      StopDrawing()
    EndIf
    
    StopPrinting()
  EndIf
EndIf
; ExecutableFormat=Windows
; EOF