NewBitmapFont
FontIndex = NewBitmapFont(Width, Height, [Format=2])
 
Parameters:

    Width = The width of each character
    Height = The height of each character
    [Format=2] = optional bitmap font format.
Returns:

    FontIndex = The Index of the newly created font
 

      NewBitmapFont() initializes a blank bitmap font. Upon creation each characters in the alphabet will be blank and have the same width and height. While this might not should that useful, it allows you to import your own hand drawn fonts.

      To import a font, you'll need to load your character set into PlayBASIC as an image, then grab the individual characters from it (using GetFontChr()) to store them in their corresponding ASCII positions.

      Once imported, you can use this font just like any other windows font. The benefits are that bitmap fonts are not only faster, but will vastly improve your programs visual style.

[ Format Flags ]
2= Video Bitmap Font
4= FX Bitmap Font
8= Compressed Raster Font


      The format flags allow us to prepare the type of bitmap font this should be. In older veriosn of PB, if you wanted to create an FX bitmap font, you'd have to create a standard bitmap font (video) then prepare it as an FX font. Which was pretty slow.




FACTS:


      * All characters in the font will have the same physical width and height. However you can adjust the render width using the FontChrWidth command

      * Use FontMaskColour to change the transparent colour of the font

      * To help make this process easier for new users we've included a fonts expansion library in the SLiBS folder. This library includes a function that will load an image (with your character set on it) it into a bitmap font. See the demo which is located in the Projects/Examples/Fonts folder.





Mini Tutorial:


      This example loads the windows true type Arial, and the builds a custom bitmap version of it. In fact this example basically replicates what the MakeBitmapFont command does. But this approaches gives you the control and freedom to build or import your own hand drawn character sets into PB as a custom font.



  
; --------------------------------------------------------
; For This example, were going to build a PB Bitmap font
; from the Windows Arial font as an example. Normally you'd
; load a set of pre-drawn characters in and import those...
; --------------------------------------------------------
  
; Load the Windows True Type Font Arial (50 point)
  LoadFont "Arial",2,50,1
  SetFont 2
  
; Set the Width + Height of oru custom font
  ChrWIdth=48
  ChrHeight=60
  
  
  MyBitMapFont=NewBitmapFont(ChrWidth,ChrHeight)
  
; Manually Create the characters of our bitmap font
  For lp=Asc(" "To Asc("z")
   ; Draw a random shade box for each chr's backdrop
     ShadeBox xpos+0,0,xpos+Chrwidth,Ypos+ChrHeight,RndRGB(),RndRGB(),0,lp
     
   ; Draw the character and it's shadow
     Ink RGB(32,32,32)
     CenterText xpos+(chrwidth/2)-2,ypos-2,Chr$(lp)
     
     Ink RGB(64,64,64)
     CenterText xpos+(chrwidth/2)-1,ypos-1,Chr$(lp)
     
     Ink RGB(200,240,255)
     CenterText xpos+(chrwidth/2),ypos,Chr$(lp)
     
   ; This the section of screen at position 0x,0y for
   ; This character in My BitMapFont
     GetFontChr MyBitMapFont,lp,0,0
  Next
  
; Clear the Screen
  Cls RGB(0,0,0)
  
; Tell PB to use the newly created bitmap font
  SetFont MyBitmapFont
  
; Calc the screen center
  cw=GetScreenWidth()/2
  ch=GetScreenHeight()/2
  
; Display PlayBASIC in the center of the screen
  CenterText cw,ch-(chrheight/2),">> PlayBASIC <<"
  
; refresh the screen and wait for a key press
  Sync
  WaitKey
  
  




This example would output.

  
  >> PlayBASIC <<
  

 
Related Info: CreateFXFont | FontMaskColour | GetFontChr | LoadFont | MakeBitmapFont | PrepareFXFont | SetFont :
 


(c) Copyright 2002 - 2024 - Kevin Picone - PlayBASIC.com