FONTHEIGHT: Difference between revisions

From QB64 Phoenix Edition Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(One intermediate revision by the same user not shown)
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}}


Line 48: Line 48:


{{PageSeeAlso}}
{{PageSeeAlso}}
* [https://qb64phoenix.com/forum/showthread.php?tid=1145 Featured in our "Keyword of the Day" series]
* [[_FONTWIDTH]], [[_FONT]]
* [[_FONTWIDTH]], [[_FONT]]
* [[_PRINTWIDTH]], [[_PRINTSTRING]]
* [[_PRINTWIDTH]], [[_PRINTSTRING]]

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