FONTHEIGHT: Difference between revisions

From QB64 Phoenix Edition Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
Line 22: Line 22:
     {{Cl|CASE}} {{Text|1|#F580B1}}, {{Text|2|#F580B1}}, {{Text|7|#F580B1}} {{Cl|TO}} {{Text|13|#F580B1}}: {{Cl|SCREEN}} mode%
     {{Cl|CASE}} {{Text|1|#F580B1}}, {{Text|2|#F580B1}}, {{Text|7|#F580B1}} {{Cl|TO}} {{Text|13|#F580B1}}: {{Cl|SCREEN}} mode%
     {{Cl|CASE}} {{Text|256|#F580B1}}, {{Text|32|#F580B1}}: {{Cl|SCREEN}} {{Cl|_NEWIMAGE}}({{Text|800|#F580B1}}, {{Text|600|#F580B1}}, mode%)
     {{Cl|CASE}} {{Text|256|#F580B1}}, {{Text|32|#F580B1}}: {{Cl|SCREEN}} {{Cl|_NEWIMAGE}}({{Text|800|#F580B1}}, {{Text|600|#F580B1}}, mode%)
     {{Cl|CASE}} {{Cl|ELSE}}: {{Cl|PRINT}} {{Text|<nowiki>"Invalid mode selected!"</nowiki>|#FFB100}}: {{Cl|END}}
     {{Cl|CASE ELSE}}: {{Cl|PRINT}} {{Text|<nowiki>"Invalid mode selected!"</nowiki>|#FFB100}}: {{Cl|END}}
{{Cl|END SELECT}}
{{Cl|END SELECT}}



Latest revision as of 15:17, 25 September 2024

The _FONTHEIGHT function returns the font height of a font handle created by _LOADFONT.


Syntax

pixelHeight% = _FONTHEIGHT[(fontHandle&)]


Description

  • Returns the height of the last font used if a handle is not designated.
  • If no font is set it returns the current screen mode's text block height.


Examples

Example: Finding the font or text block size of printed string characters in graphic SCREEN modes.

DO
    INPUT "Enter Screen mode 1, 2 or 7 to 13 or 256, 32 for _NEWIMAGE: ", scr$
    mode% = VAL(scr$)
LOOP UNTIL mode% > 0
SELECT CASE mode%
    CASE 1, 2, 7 TO 13: SCREEN mode%
    CASE 256, 32: SCREEN _NEWIMAGE(800, 600, mode%)
    CASE ELSE: PRINT "Invalid mode selected!": END
END SELECT

INPUT "Enter first name of TTF font to use or hit enter for text block size: ", TTFont$
IF LEN(TTFont$) THEN INPUT "Enter font height: ", hi$
height& = VAL(hi$)
IF height& > 0 THEN
    fnt& = _LOADFONT("C:\Windows\Fonts\" + TTFont$ + ".ttf", height&, style$)
    IF fnt& <= 0 THEN PRINT "Invalid Font handle!": END
    _FONT fnt&
END IF

TextSize wide&, high& 'get the font or current screen mode's text block pixel size

_PRINTSTRING (20, 100), "Block size = " + CHR$(1) + STR$(wide&) + " X" + STR$(high&) + " " + CHR$(2)

END

SUB TextSize (TextWidth&, TextHeight&)
    TextWidth& = _PRINTWIDTH("W") 'measure width of one font or text character
    TextHeight& = _FONTHEIGHT 'can measure normal text block heights also
END SUB


See also



Navigation:
Main Page with Articles and Tutorials
Keyword Reference - Alphabetical
Keyword Reference - By usage
Report a broken link