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:

Kann ich inmitten in einem Bild Text anzeigen lassen?

 
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
Manu



Anmeldungsdatum: 16.07.2006
Beiträge: 174
Wohnort: Bayern

BeitragVerfasst am: 29.12.2006, 20:58    Titel: Kann ich inmitten in einem Bild Text anzeigen lassen? Antworten mit Zitat

Hallo,

kann ich, wenn ich ein Bild in mein QBasic Programm einfüge z.b. Rand dann in der Mitte vom Rand wieder Text anzeigen lassen z.b. also
nach folgendem Schema:

Code:

ZEICHNE BILD IN DIE MITTE
Schreibe in die Mitte des Bildes "Hallo"


würde das gehen wenn ich einen Rand als Bild hätte?

danke

mfg Manu
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Michael Frey



Anmeldungsdatum: 18.12.2004
Beiträge: 2577
Wohnort: Schweiz

BeitragVerfasst am: 30.12.2006, 11:04    Titel: Antworten mit Zitat

Ja.
Wäre aber noch Interresant zu wissen wie zwinkern

Wie du ein Bild öffenen kannst, steht in der MonsterFAQ.

Beim Zentrierten Text gibt es mehrer Ansätze.

Eine möglichkeit:
Du berechnest die Mitte das Bildes
Code:
MitteX=(EndeX-AnfangY)/2+AnfangY
MitteY=(EndeY-AnfangY)/2+AnfangY

Rechnest das in das Raster für Zeichen um.
(Jenach Screen verschieden gross, z.B. 8*14)
Code:
MitteX=MitteX/8
MitteY=MitteY/14


Als nächstes die Länge des Strings:
Code:
lang=len(Text)

Das durch 2 (Die Hälfte der Zeichen soll Links neben der Mitte sein)
Code:
lang=lang/2


Dann mit MitteX verrechenen:
Code:
x=MitteX-lang


Coursor drauf setzen:
Code:
Locate MitteY, x

und Ausgeben
Code:
Print Text

_________________
http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
Neu mit Syntax Highlight
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Flo
aka kleiner_hacker


Anmeldungsdatum: 23.06.2006
Beiträge: 1210

BeitragVerfasst am: 30.12.2006, 12:57    Titel: Antworten mit Zitat

dann is aber das bild futsch...

vllt gehts so:
wohin geLOCATEt werden soll berechnen
wo das bild sein soll, ein schwarzes viereck mikt line (x1,y1)-(x2,y2),0,BF zeichnen
den text schreiben
und die bildmalroutine zu umändern, dass zuerst geprüft wird, ob auf dem punkt, wohin das aktuelle pixel hin soll, die farbe des textes ist...
WENN JA, nicht PSETten, WENN NEIN, PSETten...

ps: es ist nicht mehr der dritte advent lachen
_________________
MFG
Flo

Satoru Iwata: Wer Spaß am Spielen hat, fragt nicht nach Grafik.

zum korrekten Verstaendnis meiner Beitraege ist die regelmaessige Wartung des Ironiedetektors unerlaesslich.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 30.12.2006, 14:04    Titel: Antworten mit Zitat

@kleiner_hacker: Das ist aber wesentlich ineffizienter, als bei der Schriftroutine Transparenz (=> Schriftzug als Bitmaske). Allein schon von der Zahl der POINT-Operationen her, die je nach Verfahren nötig wären, ist das von dir vorgeschlagene Verfahren viel langsamer. Außerdem müsstest du das Bild dann pixelweise mit PSET aufbauen und könntest keine schnellen Grafikbefehle verwenden.
_________________

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
Jojo
alter Rang


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

BeitragVerfasst am: 30.12.2006, 14:18    Titel: Antworten mit Zitat

Also auf qbasic.de gibt es eine seeehr schöne DrawFont-Routine, dich früher sehr gern benutzt habe. Die ist superschnell, transparent und ermöglicht sogar Schatten.
_________________
» 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
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 30.12.2006, 14:29    Titel: Antworten mit Zitat

Oder man baut sich einfach selbst eine. zwinkern
Das is' mit Schnickschnack in gut 100 Zeilen untergebracht. lächeln
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


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

BeitragVerfasst am: 30.12.2006, 14:32    Titel: Antworten mit Zitat

die hatte aber dank bios-font-abfrage nur 20 zeilen oder so. die funktion finedest du unter anderem in meinem programm Dungeon 2 in der Datei Game.Bas.
_________________
» 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
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 30.12.2006, 14:55    Titel: Antworten mit Zitat

War aber selbstgebastelt und das erfreut einen ja immer. zwinkern grinsen
Außerdem kann ich mir schlecht vorstellen, wie du den Standard-Schriftsatz aus dem Grafikkarten-RAM holen sollst, und gleichzeitig noch das ganze schattiert darstellen kannst. verwundert
Werd mir das trotzdem mal ansehen. lächeln
...Oder waren das etwa 20 Zeilen mit assemblierten Maschinen-Code? Dann ist das schon eher verständlich. zwinkern
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


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

BeitragVerfasst am: 30.12.2006, 17:14    Titel: Antworten mit Zitat

das is mit peek und poke. die schrift kriegst du direkt ausm grafikspeicher (oder os) und die wird halt 2mal hingedruckt, einmal als "schatten" zwinkern und ich habe die sub ja auch etwas modifiziert. das merkt man in dungeon 2.
ähm, naja vlt hab ich die ja sogar shcon aus dungeon 2 rausgeworfen, wer weiß? ich hatte sie in jedem fall mal drin. und so eine font-routine is wirklich schnell geschrieben ( durchgeknallt ), hab schon einige geschrieben!
_________________
» 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
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 30.12.2006, 21:02    Titel: Antworten mit Zitat

Ich weiß, wie's geht und wie 'nen Schatten entsteht. zwinkern
Und ich hab, as say, auch schon eine für Eigenbedarf geschrieben.
Aber mich wundert's halt, dass man nur mit BASIC-Instruktionen innerhalb von 20 Zeilen 'ne komplette Schriftroutine basteln kann, die den Schriftsatz aus'm Grafikspeicher holt (net Betriebssystem).
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


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

BeitragVerfasst am: 30.12.2006, 21:10    Titel: Antworten mit Zitat

grafikspeicher kannste durch druch ein bisschen def seg bequem erreichen zwinkern
_________________
» 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
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 31.12.2006, 13:08    Titel: Antworten mit Zitat

Dann google ich mal ein bisschen, braucht man dafür nicht immer gleich ASM nehmen. grinsen
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


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

BeitragVerfasst am: 31.12.2006, 15:24    Titel: Antworten mit Zitat

Peek und Poke hat doch nix mit ASM zu tun durchgeknallt

Das geht so ungefähr nach diesem Prinzip (aber ganz anders lachen )

Code:

Def Seg = &H1337
  BitReihe = PEEK(Buchstabe * 1337 + Zeile)
Def Seg

_________________
» 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
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 31.12.2006, 15:32    Titel: Antworten mit Zitat

Äh...naja, nicht direkt jedenfalls. grinsen
Aber für sowas nehm ich - bzw. hab ich genommen - Assembler. lächeln

Der Code müsste demzufolge pseudomäßig so heißen:
Segment 0x1337 (wie kreativ durchgeknallt)
Hole Byte(?) von Offset X (X=ASCII-Code*1337+Zeile)
Standard-Segment herstellen

Ich glaub, damit hab ich in früher Zeit schonmal Grafiken auf den Bildschirm gebracht. neutral
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


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

BeitragVerfasst am: 31.12.2006, 15:40    Titel: Antworten mit Zitat

so ungefähr ging das, wirklich zwinkern Nur die Zahl whar natürlich aus KREATIVEN zwecken gewählt 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
dreael
Administrator


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

BeitragVerfasst am: 31.12.2006, 16:34    Titel: Zeichengenerator-ROM Antworten mit Zitat

Zum Thema Zeichengenerator: Dazu solltet Ihr INT 10h, AX=1130h vom VGA-BIOS verwenden, wie unter

http://www.ctyme.com/intr/rb-0158.htm

gezeigt, denn die physikalische Startadresse ist bei den vielfältigen Grafikkartenfabrikaten und deren VGA-BIOS keineswegs einheitlich! Praktisches Anwendungsbeispiel von mir davon:

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

SUB-Routine ErzeugeTextGrafik(). Bei der 14x8-Schrift muss man noch den Hinweis in meinem Artikel beachten.
_________________
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