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:

Fragen zu Sound und Bilder einfügen in Freebasic
Gehe zu Seite 1, 2  Weiter
 
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
Bull-t07



Anmeldungsdatum: 10.07.2007
Beiträge: 12

BeitragVerfasst am: 11.07.2007, 14:36    Titel: Fragen zu Sound und Bilder einfügen in Freebasic Antworten mit Zitat

Guuuten Morgen...
Ich bin neu hier im Forum und habe zu alldem auch noch eine Frage (unverschämt).
Also ich fange grade mit Freebasic an (ich bin noch ein alter qbasicer), und am meisten will ich in Freebasic kleine Spiele Programmieren.... meisten Textquest... Ausgelegt in IF und Then Sätzen, aber da das eine Extrem lange arbeit ist dachte ich mir Freebasic ist doch relativ neuer als Qbasic...
Bei qbasic so weit ich weiß konnte man keine Bilder(jpg,bmp)geschweigeden schon fertige sounds einspielen... (wav,mp3).
Aber da ich schon gesehen habe das geht mit Freebasic, wollte ich nun gerne den Befehl dazu wissen...
das bild sollte so ausehen das oben das Bild ist mit zwei optionen und unten steht der text dir formel sollte dann so lauten
Loadb name1.bmp
Input "Du stehst vor einem Wald, du kannst entweder nach (links) oder nach (rechts) gehen..."; richtung$
IF richtung$="links" Then Loadb Links1.bmp
IF richtung$="links" Then Input "du siehst auf dem Bild eine Scherbe willst du sie aufheben. (ja) oder (nein)."; Scherbe$
usw. kann mir nun einer Bitte einfach den Befehl zum Bild load sagen?
dann wollt ich auch noch kleine Sounds einspielen... wenn einer mir den Befehl bitte auch noch sagen?...
Dank Voraus Bull-t07
P.S Hoffe ihr habt verstanden...!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
csde_rats



Anmeldungsdatum: 07.01.2007
Beiträge: 2292
Wohnort: Zwischen Sessel und Tastatur

BeitragVerfasst am: 11.07.2007, 14:41    Titel: Antworten mit Zitat

Code:
bload <== Befehl

Code:
bload "Bild.bmp", screenptr

Für Sounds:
http://www.freebasic-portal.de/index.php?s=codes&cat=6

Code-Tags rulez...

btw

Willkommen im Forum!
_________________
If hilfreicher_Beitrag then klick(location.here)

Klick
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Bull-t07



Anmeldungsdatum: 10.07.2007
Beiträge: 12

BeitragVerfasst am: 11.07.2007, 15:04    Titel: Antworten mit Zitat

Also danke für den Post...
das bild sollte so ausehen und dann immer neue bilder kann mir einer ne genaue anleitung geben wie ichs lade (noch nie gemacht...)
also hier der entwurf so in der größe...
http://img516.imageshack.us/img516/1139/entwurfbr7.png
... also pls noch eine antwort..... thx im voraus....
Bull-t07
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
csde_rats



Anmeldungsdatum: 07.01.2007
Beiträge: 2292
Wohnort: Zwischen Sessel und Tastatur

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

Naja
Code:

dim as any ptr bild1, bild2, bilb3, ...

bild1 = imagecreate(Höhe, Breite)

bload "bild1.bmp", bild1

put(x,y), bild1


Skalieren:
a) OGL (durchgeknallt)
b) Pixel mal zwei nehmen (einfach, aber langsam)
c) FreeImage_Rescale

such' dir eins aus.
OGL ist das schwierigste, aber auch das schnellste (HW-Beschleunigung usw.)
b) ist sehr einfach zu realisieren, aber seehr CPU lastig + langsam
c) vorher mit FI laden, dann skalieren (siehe hier), gibt aber probleme mit Bildpuffer Typ 1 & 2...
such dir eins aus...
_________________
If hilfreicher_Beitrag then klick(location.here)

Klick
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Mao



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

BeitragVerfasst am: 11.07.2007, 15:44    Titel: Antworten mit Zitat

Hallo und willkommen im Forum! lächeln

Zuersteinmal ein nat. nur nett gemeinter Ratschlag: Du ersparst dir selbst teilweise viel Zeit, wenn du die Suchfunktion verwendest. Viele derartige Fragen wurden schon beantwortet. Falls mal etwas nicht mehr gehen sollte (denn FB ist eine lebendige Sprache), sind hier alle sicherlich gerne bereit, zu helfen. lächeln (Sind wir ja sowieso. zwinkern)
Trotzdem (oder gerade deshalb?): SuFu ftw!

Dann noch ein Tipp: Zur deutschen FB-Community gibt es zwei mehr oder minder aktive Portale mit vielen Informationen, Beispiel-Codes und Tutorials. Zum Einen wäre da das etwas neuere FreeBasic-Portal und FreeBasic.de.
Von FBP stammt auch folgendes Tutorial zum Anzeigen von Bildern: Tutorial von Volta zum Anzeigen von BMP-Bildern.

Noch viel Spaß hier im Forum,
Mao
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Bull-t07



Anmeldungsdatum: 10.07.2007
Beiträge: 12

BeitragVerfasst am: 11.07.2007, 15:54    Titel: Antworten mit Zitat

Danke für die nette aufnahme hier....únd für die vielen Post
werd heud abend mal gucken was von den tipps klappt muss jetz weg.....
ich werde mal einen kleinen quelltext rein haun und wenn einer ein verbesserungs vorschlag hat dann bitte reinposten....
MFG: Bull-t07
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 11.07.2007, 16:07    Titel: Antworten mit Zitat

von hand skalieren (cpu-last und langsam) ist kein problem, wenn du eh nur zweima pro minute n bild anzeigst oder so.. kannst ja bild anzeigen, text hinschreiben, nächstes bild berechnen (dauert allerallerhöchstens ne zehntel sekunde), dann auf eingabe warten, das grad berechnete bild wieder anzeigen, nächster text, nächstes bild, oder einfach das bild direkt vorm anzeigen immer berechnen, du machst das ja nur so selten, das is kein problem.
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Bull-t07



Anmeldungsdatum: 10.07.2007
Beiträge: 12

BeitragVerfasst am: 11.07.2007, 19:53    Titel: Antworten mit Zitat

Danke MR.D könntest du oder irgend jemand eins zwei zeilen schreiben das ich rein komme???
THX im Voraus Bull-t07
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
csde_rats



Anmeldungsdatum: 07.01.2007
Beiträge: 2292
Wohnort: Zwischen Sessel und Tastatur

BeitragVerfasst am: 11.07.2007, 20:52    Titel: Antworten mit Zitat

naja
Pseudo Code:
Code:

for x = 1 to 10
for y = 1 to 10
point (x,y), farbe
pset (x,y), farbe
pset (x+1,y+1), farbe
pset (x+1,y), farbe
pset (x,y+1), farbe
next
next


integer = x,y,farbe

das is jetzt um das bild 2xzu vergrößern...
_________________
If hilfreicher_Beitrag then klick(location.here)

Klick
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Mao



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

BeitragVerfasst am: 11.07.2007, 21:25    Titel: Antworten mit Zitat

Imho vergrößerst du das Bild damit nicht. zwinkern

Nehmen wir mal für X den Wert 2, für Y den Wert 3.
Du liest den Farbwert des Punktes {2;3}. Dann setzt du ihn an der gleichen Stelle nochmal (wozu?) und gleichzeitig noch an {3;4} sowie {3,3}. Y wird durch die FOR-Schleife inkrementiert. Also haben wir den Punkt {2;4}. Jetzt liest du wieder Farbe und setzt sie an {2;4}, {3;5} und {3;4}. Gehen wir dann davon aus, dass irgendwann mal ein Durchlauf von Y vorbei ist. happy
X wird inkrementiert. Gelesen wird dann irgendwann vom Punkt {3; 3}. Jetzt wird aber nicht mehr der urpsprüngliche Pixel geleen, sondern der der durch die Routine schon gesetzt wurde. (Siehe oben.) Als Folge bekommst du eine schöne (fast) einfarbige Pixelfläche. lächeln
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
csde_rats



Anmeldungsdatum: 07.01.2007
Beiträge: 2292
Wohnort: Zwischen Sessel und Tastatur

BeitragVerfasst am: 11.07.2007, 21:44    Titel: Antworten mit Zitat

war ja auch nur Pseudo-Code um zu zeigen was für Befehle man in etwa anwenden muss. zwinkern
_________________
If hilfreicher_Beitrag then klick(location.here)

Klick
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: 11.07.2007, 21:52    Titel: Antworten mit Zitat

du hast das entscheidene x2 vergessen, also ist es ein FALSCHER pseudocode.
_________________
» 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
Bull-t07



Anmeldungsdatum: 10.07.2007
Beiträge: 12

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

Also so sollte es in etwa ausehen:
Code:
.....
.....
.....
CLS
Load Baum1.jpg
Input "Du stehst vor einem Baum willst du ihn Untersuchen???(ja) oder (nein)..."; Baumuntersuchen$
IF Baumuntersuchen$="ja" Then Print "Du untersuchst ihn doch findest nichts...."
IF Baumuntersuchen$="nein" Then Print "Du untersuchst ihn nicht... Wir wollen ja keine Zeit verlieren..."
.....
.....
.....
usw.

Kann mir da einer genau schreiben wie es richtig geschrieben wird...?
des Bild Baum1.jpg hab cih auf dem rechner nur wie ich weiter machen soll wie einfügen k.a und unten mit dem text oder frage ich habe keine ahnung.... also wenn mir einer ein kleines stück schreiben könnte dass ich dann weiter schreiben kann..... THX im Voraus: Bull-t07
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mao



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

BeitragVerfasst am: 12.07.2007, 12:29    Titel: Antworten mit Zitat

Falscher Pseudo-Code ist aber nicht gerade die netteste Art, jemandem zu helfen. Dann hätte man ihm auch nur die Befehle sagen können, ich glaub, dann würde man schneller zum Ziel kommen, als falschen Code zu übernehmen. Zunge rausstrecken
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
csde_rats



Anmeldungsdatum: 07.01.2007
Beiträge: 2292
Wohnort: Zwischen Sessel und Tastatur

BeitragVerfasst am: 12.07.2007, 13:57    Titel: Antworten mit Zitat

Ich nehme mal an, dass du statt
Code:
Load Baum1.jpg

Code:
BLoad Baum1.jpg


gemeint hast. Allerdings ist Baum1.jpg wohl kaum ein Variablenname, sondern ein String:
Code:
BLoad "Baum1.jpg"

Allerdings kann bload nur Bitmaps anzeigen. Für alles andere brauchst Bibliotheken, oder ein eigenen JPG-Loader. Ein guter JPG-Loader ist in der FreeImage.dll enthalten. Lade dir einfach von meiner Homepage mein Programm "RatsJView" herunter. Dort ist die FreeImage.dll dabei, und im Sourcecode gibt es die Funktion "GetJPEG". Diese lädt ein JPEG-Bild, und skaliert es. Um ein JPEG in Originalgröße anzuzeigen kannst du "RawJPEG" verwenden.

Um einen FB-Bildpuffer selber zu skalieren, gehst du in etwa so vor:
Code:

Bild laden usw.

neuen Bildpuffer erstellen

in einer schleife alle pixel des geladenen bildes durchgehen
einen pixel aus alten bild nehmen
und 4 mal in den neuen Bildpuffer schreiben


Nur so ungefähr.
_________________
If hilfreicher_Beitrag then klick(location.here)

Klick
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Bull-t07



Anmeldungsdatum: 10.07.2007
Beiträge: 12

BeitragVerfasst am: 13.07.2007, 19:37    Titel: Antworten mit Zitat

Danke für die vielen Posts also mein Problem ist das das Bild nicht geloadet wird....
Code:
Screen 9
Print "Test"
BLoad "Baum1.bmp"
Sleep 5000
END

das ganze ist in einem ordner....
und wenn es mal gezeigt wird, wie bekomm ich den da dann den Text oder die Frage drunter???
wäre euch sehr verbunden wenn mir das mal einer erklärt....
MFG:Bull-t07
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
csde_rats



Anmeldungsdatum: 07.01.2007
Beiträge: 2292
Wohnort: Zwischen Sessel und Tastatur

BeitragVerfasst am: 13.07.2007, 19:55    Titel: Antworten mit Zitat

Screen 9 hast du nicht im 32-Bit modus initialisiert:
Code:
screen 9, 32


dann

Code:
bload "Baum1.bmp", screenptr


Naja

Wenn du was auf den Screen zeichnest, und danach was ÜBER den GANZEN Bildschirm malst, ist der vorhige Inhalt natürlich weg zwinkern

Daher:
Zuerst Bild
dann mit DRAW STRING die Schrift zwinkern
Code:
draw string (X ,Y), "Text", Farbe


"Farbe" ist ein 32-Bit Integer. Mit dem Makro "rgb(Rot, Gruen, Blau)" kannst du den automatisch erstellen lassen. Dieser Makro ist in der "fbgfx.bi" notiert; also muss ein
Code:
#include "fbgfx.bi"

Am Anfang stehen.
_________________
If hilfreicher_Beitrag then klick(location.here)

Klick
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Bull-t07



Anmeldungsdatum: 10.07.2007
Beiträge: 12

BeitragVerfasst am: 13.07.2007, 20:29    Titel: Antworten mit Zitat

He rats kann man dich auch privat anschreiben dann müssen wir nicht übers forum komunizieren und es geht schneller und einfacher was für chates benutzt du denn?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
csde_rats



Anmeldungsdatum: 07.01.2007
Beiträge: 2292
Wohnort: Zwischen Sessel und Tastatur

BeitragVerfasst am: 13.07.2007, 20:32    Titel: Antworten mit Zitat

Da gibts son Button da steht "pn" drauf zwinkern

ansonsten:
Zitat:
Server: irc://irc.freenode.net:6667
Channel: #freebasic.de

_________________
If hilfreicher_Beitrag then klick(location.here)

Klick
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1876
Wohnort: D59192

BeitragVerfasst am: 13.07.2007, 20:36    Titel: Antworten mit Zitat

Hi,
leider funktioniert Bload mit 24/32bit BMP's nicht in den emulierten Screenmodi.
Erst ab Screen 14 geht es dann (auch ohne 'Screenpointer').
Code:
Screen 14,32
Bload "Baum1.bmp"
Draw String (20 ,30), "Text", RGB(255,255 ,0)
Color &hFFFF00 '=RGB(255,255 ,0)
Print "TEXT"
Sleep
End
Die fbgfx.bi muss dazu nicht extra includet werden.
_________________
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
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
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
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