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:

Farben in Screen 12 mischen und Fonts erstellen?

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



Anmeldungsdatum: 10.11.2004
Beiträge: 110
Wohnort: in Bayern

BeitragVerfasst am: 11.01.2005, 15:59    Titel: Farben in Screen 12 mischen und Fonts erstellen? Antworten mit Zitat

hallo,

wie kann ich mir farben im screen 12 selber "zusammenmischen", wie es im screen 13 mit Veränderung von Werten im Videospeicher geht? und wie kann ich mir fonts wie die windowsfonts selberprogrammieren, so dass sie auch beliebig vergrößerbar sind?
danke im voraus
MFG
Mr.Qb.4.5
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 11.01.2005, 16:11    Titel: Antworten mit Zitat

Hallo.

In der Monster-FAQ findest du mehrfach ein OUT-Programm zum Palettenändern erklärt. Damit funktioniert das in Screen 12 einwandfrei. lächeln
In Screen 12 sollte sogar der QB Befehl PALETTE funktionieren. Er ist etwas langsamer als OUT. Auch dazu findest du echt einiges in der MonFAQ. (Sie steht leider nicht mehr im Header, aber du findest sie auf www.qbasic.de)

AK und ich arbeiten derzeit beide an Fontroutinen (TTF=>QB) dazu. lächeln Wir sind aber beide nicht fertig. neutral Ich glaube aber, dass du mit der UGL (auf qbasic.de im Downloadbereich unter Libs) TTF Fonts verwenden kannst. Ansonten musst du auf unsere Fontlibs warten. zwinkern

An sich kannst du die Buchstaben aber auch wie kleine Grafiken behandeln. Auf neueren Rechnern (ab Pentium I 200MHz) merkt man normal keine Geschwindigkeitseinbußen. Ich mache das so in meinem Jump'n'Run Game, das ich mal für QB-City gemacht hab, organisiert. Du findest es auf meiner Seite im Downloadbereich. lächeln

Wenn es dir reicht, die DOS Box Schrift gegen eine coolere auszutauschen und ein pixelgenaues Setzen nicht wichtig ist, kannst du auch das Programm DOSFONT von www.iconsoft.de verwenden.

Viele Grüße!
Sebastian
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Dusky_Joe



Anmeldungsdatum: 07.01.2005
Beiträge: 1007
Wohnort: Regensburg/Oberpfalz

BeitragVerfasst am: 11.01.2005, 21:04    Titel: Antworten mit Zitat

Klar geht Pallette auch in Screen 12!

Aber ich habe mir vor kurzem abgewohnt, den Befehl zu verwenden.
Nicht wegen der Geschwindigkeit (ich hab noch nicht ausprobiert, wie groß der Unterrschied ist. Aber da er Werte vom Typ LONG verwendet, während mit der INP/OUT - Methode einfache INTEGER gehen, is es doch plausibel, oder?), sondern vor allem, weil so auch Farbwerte wieder eingelesen werden können.
Und noch was:
Im SCREEN 9 (640 x 350, 16 Farben, je nach Video-Speicher 1 bis 2 Seiten, also ideal für Animationen!) kann man mit PALLETTE nur 16 aus 64 VORDEFINIERTEN Farben auswählen. Mit OUT kann man echte 18 Bit-Farben setzen.

Anwendung:

Farbeintrag setzen:
Code:

OUT &H3C8, farbe%
OUT &H3C9, rot%
OUT &H3C9, gruen%
OUT &H3C9, blau%

Ich denke, der Code oben ist selbsterklärend.
farbe% ist die Farbnummer, die zwischen 0 und 255 liegen muss.
Wenn man einen Wert außerhalb dieses Bereichs angibt, wird die Eingabe einfach ignoriert - glaube ich. Ich hab jedenfalls keinen Effekt erkannt.
rot%, gruen% und blau% sind die einzelnen Farbwerte, die zwischen 0 und 63 liegen sollten. Soweit ich weiß, werden werte, die außerhalb liegen automatisch auf 63 gesetzt.
Auch hier bin ich mir aber nicht ganz sicher.

Farbeintrag einlesen:
Code:

OUT &H3C7, farbe%
INP &H3C9, rot%
INP &H3C9, gruen%
INP &H3C9, blau%
[/quote]
Auch hier gelten wieder die selben Regeln.
Die OUT-Zeile gibt an, welche Zeile eingelesen werden soll, und dann kommen nacheinander die drei RGB-Werte.

Easy Move *g*

_____________________________________________________


Mit dem Problem der Fonts hab ich mich auch schon beschäftigt.
In den letzten Sommerferien hab ich mir dazu ein paar Schrift-Routinen inclusive Font-Editor geschrieben. Wenn du willst, kann ich dir das Paket schicken.
Nur kurz zum Prinzip (das von so ziemlich jedem verwendet wird, der seine eigenen Fonts erstellt...):
nacheinander werden alle 255 ASCII-Characters auf dem Bildschirm ausgegeben, und mit POINT eingelesen.
Ist der zurückgegebene Wert ungleich 0, wird eine 1 in eine Datei geschrieben, ansonsten eine 0.
so bekommt man ein wunderbares Abbild aller Zeichen.
Diese werden dann in ein Arrey geladen, und können auf dem Bildschirm mit PSET ausgegeben werden.
So ist Pixelgenaue positionierung und transparenter Hintergrund möglich. Eine weitere Routine ermöglichet eine vergrößerung der Schrift um einen beliebigen Faktor, auch nichtganzzahlige Faktoren sind möglich! Bis zum Faktor 3 sieht das auch ganz gut aus, aber spätestens ab 3.5 ist es ziemlich Eckig. Für Überschriften reichts aber allemal!
Und dann ist da schließlich noch eine SUB, die Bunte Schrift ausgeben kann!

_____________________________________________________
War das jetzt Werbung?
....
Bitte fasst den zweiten Teil dieses Posts als Anregung auf, eigene Routinen zu entwickeln!


Have a nice day!
Ciao![/quote]


Zuletzt bearbeitet von Dusky_Joe am 11.01.2005, 22:01, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2529
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 11.01.2005, 21:09    Titel: Antworten mit Zitat

Farben setzen: Befehl PALETTE, Format

PALETTE farbe%, CLNG(r% + 256 * g%) + 65536& * CLNG(b%)

(r%, g% und b% zwischen 0 und 63). Farben auslesen: Compiler nötig, da CALL INTERRUPT auf

INT 10h, AX=1015h

Wie das konkret geht, ist in der SUB-Prozedur LiesPalette() von BMP_LIB.BAS unter

http://www.dreael.ch/Deutsch/Download/WindowsBitmapBibliothek.html

gezeigt.
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic. 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