Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

[gelöst]FontHöhe ermitteln

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Muttonhead



Anmeldungsdatum: 26.08.2008
Beiträge: 565
Wohnort: Jüterbog

BeitragVerfasst am: 07.11.2008, 23:52    Titel: [gelöst]FontHöhe ermitteln Antworten mit Zitat

Gruss an alle...

Gibt es in FB irgendsowas wie ne Systemvariable die den benutzten Font(genauer die Höhe) in einem beliebigen Screen anzeigt???

Hab mir da ne Notlösung(Pixelzählen in einem Image mit chr(219) ) gebastelt, aber wenns auch anners geht...

Mutton


Zuletzt bearbeitet von Muttonhead am 08.11.2008, 16:20, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 08.11.2008, 00:05    Titel: Antworten mit Zitat

alle fonts haben entweder 8,14,16 pixel höhe. so einfach ist das.
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Muttonhead



Anmeldungsdatum: 26.08.2008
Beiträge: 565
Wohnort: Jüterbog

BeitragVerfasst am: 08.11.2008, 00:17    Titel: Antworten mit Zitat

Ich weiss... es geht mir nur einfach darum... angenommen ich mache mit SCREENRES (zb 234x467) einen Screen auf, welchen der 3 Fonts benutzt FB?
Es geht mir einfach nur um die INFO über die grad benutzte Höhe...

Mir ist schon klar, dass ich einen bestimmten Font einstellen kann

Mutton
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4704
Wohnort: ~/

BeitragVerfasst am: 08.11.2008, 00:24    Titel: Antworten mit Zitat

Nicht getestet, aber ich denke, dass immer erst einmal der Font mit Höhe 16 verwendet wird. Umstellen kannst du mit WIDTH.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 08.11.2008, 00:32    Titel: Antworten mit Zitat

bei screenres wird immer 8x8 benutzt. sieht man daran, dass die buchstaben quadratisch sind. Zunge rausstrecken
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4704
Wohnort: ~/

BeitragVerfasst am: 08.11.2008, 00:40    Titel: Antworten mit Zitat

Ah, danke, gut zu wissen. lächeln
Ich verwende immer nur die Standard-SCREENs.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Muttonhead



Anmeldungsdatum: 26.08.2008
Beiträge: 565
Wohnort: Jüterbog

BeitragVerfasst am: 08.11.2008, 01:00    Titel: Antworten mit Zitat

Es geht um eine kleine .bi die ich grad baue... subs innerhalb der bi sollen selbstständig die Fonthöhe ermitteln können, um Text richtig positionieren zu können.
Sollte ein anderer FB Programmierer meine .bi benutzen, kann er mit WIDTH machen was er will, meine Subs reagieren dann entsprechend....

Mutton
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1876
Wohnort: D59192

BeitragVerfasst am: 08.11.2008, 12:18    Titel: Antworten mit Zitat

Code:
Function fonthoehe As Integer
  Dim As Integer h
  ScreenInfo h
  Select Case  h\HiWord(Width)
    Case Is < 8 : Return 0
    Case 8 To 13 :Return 8
    Case 14, 15 : Return 14
    Case Is > 15 :Return 16
  End Select
End Function

Dim As Integer i,h,w
For i = 1 To 20
  Screen i
  Print "Screenmod:";i
  ScreenInfo h,w
  Print "Hoehe x Breite:";h;" x";w
  Print "Zeilen x Spalten: ";HiWord(Width);" x ";LoWord(Width)
  Print "Fonthoehe:";fonthoehe
  Sleep
Next
grinsen
_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Muttonhead



Anmeldungsdatum: 26.08.2008
Beiträge: 565
Wohnort: Jüterbog

BeitragVerfasst am: 08.11.2008, 16:17    Titel: Antworten mit Zitat

@volta cool... grinsen

FB Referenz:
"Die Funktion WIDTH gibt Informationen über die aktuelle Größe des Konsolefensters zurück."

also gehts auch bei Screens !!!! zwinkern

meine Lösung:

Code:
function GetFontHeight as integer
  dim as integer depth,fheight,i,col
  dim as integer ptr gfx
  SCREENINFO ,,depth
  gfx=imagecreate(16,32)
  if gfx then
    select case depth
      case 16,32
        color &HFFFFFF,&H000000
        line gfx,(0,0)-(15,31),&HFFFFFF,bf
        draw string gfx,(0,0),chr(219),&H000000
        col=&H000000
      case 8
        color 1,2
        line gfx,(0,0)-(15,31),1,bf
        draw string gfx,(0,0),chr(219),2
        col=2
    end select
      for i=0 to 32
        if point(0,i,gfx)=col then fheight=i
      next i
    imagedestroy (gfx)
  end if
  fheight +=1
  function=fheight
end function


Mutton
Mit Dank an allen .... [solved]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz