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:

Wie mache ich ein Paint-Bild in mein Programm ?

 
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
Odys



Anmeldungsdatum: 14.01.2006
Beiträge: 40

BeitragVerfasst am: 14.01.2006, 20:55    Titel: Wie mache ich ein Paint-Bild in mein Programm ? Antworten mit Zitat

Wie kann ich ein paint-Bild in mein Programm machen ?
Habe eins gezeichnet und der Pfad wäre (wenn man den brauch) C:\Eigene Dateien\Eigene Bilder
_________________
Ich bin (noch) kein Profi, habt etwas Verständnis !
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Michael Frey



Anmeldungsdatum: 18.12.2004
Beiträge: 2577
Wohnort: Schweiz

BeitragVerfasst am: 14.01.2006, 21:06    Titel: Antworten mit Zitat

Siehe
http://forum.qbasic.at/viewtopic.php?t=1820
http://forum.qbasic.at/viewtopic.php?t=1800
http://forum.qbasic.at/viewtopic.php?t=1525
Wobei ich den Aktuellsten, also den Oberen Empfehle.
_________________
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
Odys



Anmeldungsdatum: 14.01.2006
Beiträge: 40

BeitragVerfasst am: 15.01.2006, 00:09    Titel: Antworten mit Zitat

Ich wollte eigentlich das mir es jemand erklärt.

Was heißt denn :
dim bild(hoehe * breite * farbtiefe) as ubyte
bload "test.bmp", varptr(bild(0))
put (10, 10), bild, pset
(Sleep)
Wenn ich das eingebe kommt nur ein schwarzer Bildschirm !
Außerdem muss ja auch irgendwo was von den gewünschten Bild stehen.
_________________
Ich bin (noch) kein Profi, habt etwas Verständnis !
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Devilkevin
aka Kerstin


Anmeldungsdatum: 11.11.2004
Beiträge: 2532
Wohnort: nähe Mannheim

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

Odys hat Folgendes geschrieben:
Ich wollte eigentlich das mir es jemand erklärt.

Was heißt denn :
dim bild(hoehe * breite * farbtiefe) as ubyte
bload "test.bmp", varptr(bild(0))
put (10, 10), bild, pset
(Sleep)


Die einzelnen Befehle kannst du unter http://fb.exp-soft.de/ nachschlagen.

Zitat:
Außerdem muss ja auch irgendwo was von den gewünschten Bild stehen.


Bei "test.bmp", das is die Addresse des Bildes (in dem Fall muss das Bild im selben Ordner liegen wie die .exe, wen die da nicht liegt wird auch nix geladen und das Bild bleibt schwarz).



Code:

'Dieser Code ist etwas vereinfacht, läd aber nur 256-Fabren BMP's

screen 18
dim shared bild(100000) AS UBYTE
bload "ampeln.bmp", varptr(bild(0))
put (0,0), bild
sleep


Den Pfad kannst du beliebig ändern, bei dem Beispiel legst du einfach eine Bitmap namens "amplen" in den Ordner wo die .exe liegt. Die Datei sollte im diesem Fall nicht größer als ~100.000 Bytes sein.

/Edit: Screen vergessen mit dem Kopf durch die Mauer wollen
_________________
www.piratenpartei.de


Zuletzt bearbeitet von Devilkevin am 15.01.2006, 00:37, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Odys



Anmeldungsdatum: 14.01.2006
Beiträge: 40

BeitragVerfasst am: 15.01.2006, 00:37    Titel: Antworten mit Zitat

Und wo ist die .exe ? neutral
_________________
Ich bin (noch) kein Profi, habt etwas Verständnis !
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Devilkevin
aka Kerstin


Anmeldungsdatum: 11.11.2004
Beiträge: 2532
Wohnort: nähe Mannheim

BeitragVerfasst am: 15.01.2006, 00:39    Titel: Antworten mit Zitat

Odys hat Folgendes geschrieben:
Und wo ist die .exe ? neutral


Also man unterscheidet zwischen Quellcode und .exe

Quellcode: Der Programmcode (.bas Format)
.exe: Das Ausführbare Programm

Also wen du das Programm compilierst dann erstellt FB diese .exe im selben Ordner wo der Quellcode liegt.
_________________
www.piratenpartei.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Odys



Anmeldungsdatum: 14.01.2006
Beiträge: 40

BeitragVerfasst am: 15.01.2006, 00:42    Titel: Antworten mit Zitat

Also du meinst das ich mein geschriebenes Programm Speichern soll und in den selben Ordner das Paintbild rein packen soll ?
Wenn du das so meinst steht bei mir FBidetemp (Fehler).
_________________
Ich bin (noch) kein Profi, habt etwas Verständnis !
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Devilkevin
aka Kerstin


Anmeldungsdatum: 11.11.2004
Beiträge: 2532
Wohnort: nähe Mannheim

BeitragVerfasst am: 15.01.2006, 00:56    Titel: Antworten mit Zitat

Odys hat Folgendes geschrieben:
Also du meinst das ich mein geschriebenes Programm Speichern soll und in den selben Ordner das Paintbild rein packen soll ?
Wenn du das so meinst steht bei mir FBidetemp (Fehler).


Nein du sollst es nicht speichern, sonder Compilen (bei der FBIDE F9 drücken). Was der Fehler soll weis ich nich (hat aber wohl irgendwas mit der IDE zu tun) verwundert

Du kannst deine Programme aber auch ohne die IDE (da wo du dein Quellcode eingibst) durch den Compiler jagen.
_________________
www.piratenpartei.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Michael Frey



Anmeldungsdatum: 18.12.2004
Beiträge: 2577
Wohnort: Schweiz

BeitragVerfasst am: 15.01.2006, 09:22    Titel: Antworten mit Zitat

Mensch ...

Odys sag das nächste mal gleich, das du eine Erklärung willst, beziehungsweisse die anderen Beiträge kennst ...

Anstelle Programm und Bild im gleichen Ordner gibt es die Alternative den Pfad anzugeben:
Code:
screen 18,32

dim bild as any ptr

datei$="C:\Eigene Dateien\Eigene Bilder\bild.bmp"
breite=
hoehe=

bild=IMAGECREATE(hoehe,breite) 'eigenschaften des bildes eingeben
bload datei$,bild

put (100,100),bild

sleep 2000,1

Das einzige was du noch Eingeben musst ist die breite und die hoehe in Pixel.
Eventuell musst du auch bild.bmp durch den Namen deines Bildes erstetzen.
_________________
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
Odys



Anmeldungsdatum: 14.01.2006
Beiträge: 40

BeitragVerfasst am: 15.01.2006, 14:23    Titel: Antworten mit Zitat

Super ,danke habs jetzt geschafft !
Jetzt hab ich allerdings noch ne Frage.
Du hast am Anfang diesen Screen: screen 18,32
, wie kann ich aber einen größeren grafikscreen machen ?
Wenn ich es einfach so ändere bleibt der bildschirm schwarz !
_________________
Ich bin (noch) kein Profi, habt etwas Verständnis !
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Michael Frey



Anmeldungsdatum: 18.12.2004
Beiträge: 2577
Wohnort: Schweiz

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

screen 19,32
screen 20,32
etc.
Dieses 32 meint, das die Farbtiefe 32 Bit beträgt und das ist scheinbar bei Bitmap Daten wichtig (also ich kenn mich auch nicht genau damit aus).
Häng einfach jedem Screen Aufruf ein ",32" an, dann sollte es gehen.

siehe auch
http://fb.exp-soft.de/
Befehlsreferenz
SCREEN (Grafik)

Edit:/
Würde gerne einen Link setzen, aufgrund der Sonderzeichen geht es aber nicht.
Edit 2:/
Das Forum hat scheinbar nicht gern Links in die Befehlsreferent ...
_________________
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
Odys



Anmeldungsdatum: 14.01.2006
Beiträge: 40

BeitragVerfasst am: 15.01.2006, 17:54    Titel: Antworten mit Zitat

Danke happy endlich habe ich ein vernünftiges Bild !
(Man muss es halt einfach verstehen)
_________________
Ich bin (noch) kein Profi, habt etwas Verständnis !
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Odys



Anmeldungsdatum: 14.01.2006
Beiträge: 40

BeitragVerfasst am: 15.01.2006, 18:58    Titel: Antworten mit Zitat

Die Probleme gehen weiter traurig :
Wenn ich in das gleiche Programm nochmal ein Bild einfügen will steht dort Fehler : Error nr. 4 Dupliacated (doppelte) definition , bild (Was man in die 2te zeile schreibt) dim bild as any ptr
_________________
Ich bin (noch) kein Profi, habt etwas Verständnis !
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MisterD



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

BeitragVerfasst am: 15.01.2006, 19:05    Titel: Antworten mit Zitat

du darfst nur einmal dim pro variablenname machen. Wenn du ne Variable einmal erstellt hast ist die da und du brauchst sie erstmal nicht nochmal zu erstellen. Wenn du nen anderen typ brauchst musste auch nen anderen namen nehmen.
_________________
"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
Michael Frey



Anmeldungsdatum: 18.12.2004
Beiträge: 2577
Wohnort: Schweiz

BeitragVerfasst am: 15.01.2006, 19:47    Titel: Antworten mit Zitat

Hier eine möglichkeit:
Code:
screen 20,32

dim Shared bild as any ptr

datei$="C:\Eigene Dateien\Eigene Bilder\bild1.bmp"
breite=
hoehe=

bild=IMAGECREATE(hoehe,breite) 'eigenschaften des bildes eingeben
bload datei$,bild

put (100,100),bild

sleep 5000,1

cls

datei$="C:\Eigene Dateien\Eigene Bilder\bild2.bmp"
breite=
hoehe=

bild=IMAGECREATE(hoehe,breite) 'eigenschaften des bildes eingeben
bload datei$,bild

put (100,100),bild

sleep 5000,1

Das CLS ist wichtig, sonst gibt es falsche Farben.
Dein Fehler war Wahrscheinlich das du das "dim bild as any ptr" mit kopiert hast, das braucht man aber nur einmal.
Ich hab noch ein "Shared" eingefügt, so kannst du die Variabel "bild" in jeder Sub-Routine nutzen.

Bevor die Frage mit dem beliebigen Ort auf dem Bildschirm Ausgeben kommt:
Willst du das bild an einem anderen Ort so must du nur "put (100,100),bild" ändern, die Erste Zahl ist der Abstand Links, die Zweite Zahl der Abstand von oben.
_________________
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
Odys



Anmeldungsdatum: 14.01.2006
Beiträge: 40

BeitragVerfasst am: 16.01.2006, 18:51    Titel: Antworten mit Zitat

DANKE lächeln


Ich kann nicht versprechen aber ich denke ich werde dank dir erstmal Ruhe zu diesen Thema geben..
_________________
Ich bin (noch) kein Profi, habt etwas Verständnis !
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Dusky_Joe



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

BeitragVerfasst am: 20.01.2006, 18:02    Titel: Antworten mit Zitat

Nochmal eine Link-Liste auf die Ref; bei diesem Forum muss man mit den Referenz-Links nämlich tatsächlich ein bisschen 'tricksen' zwinkern

DIM
SCREEN (Grafik)
GET (Grafik)
IMAGECREATE
BLOAD
BSAVE
Pointer


Anyway, Odys:
Du bist anscheinend ein ziemlicher Neueinsteiger. Deswegen würde mich interessieren, welche Passagen an der Befehlsreferenz für dich besonders schwierig zu verstehen sind, damit ich diese Stellen vereinfachen bzw. verbessern kann.
_________________
fully biological degradable

Once, the big wave arrives, you've got two ways, you can go:
Either, you ride it, or you don't do.
But, if you don't ride, you'll never know wether you'd have gone wet.
Nach oben
Benutzer-Profile anzeigen Private Nachricht 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