Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Odys
Anmeldungsdatum: 14.01.2006 Beiträge: 40
|
Verfasst am: 14.01.2006, 20:55 Titel: Wie mache ich ein Paint-Bild in mein Programm ? |
|
|
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 |
|
 |
Michael Frey

Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
|
Nach oben |
|
 |
Odys
Anmeldungsdatum: 14.01.2006 Beiträge: 40
|
Verfasst am: 15.01.2006, 00:09 Titel: |
|
|
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 |
|
 |
Devilkevin aka Kerstin

Anmeldungsdatum: 11.11.2004 Beiträge: 2532 Wohnort: nähe Mannheim
|
Verfasst am: 15.01.2006, 00:32 Titel: |
|
|
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  _________________ www.piratenpartei.de
Zuletzt bearbeitet von Devilkevin am 15.01.2006, 00:37, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
Odys
Anmeldungsdatum: 14.01.2006 Beiträge: 40
|
Verfasst am: 15.01.2006, 00:37 Titel: |
|
|
Und wo ist die .exe ?  _________________ Ich bin (noch) kein Profi, habt etwas Verständnis ! |
|
Nach oben |
|
 |
Devilkevin aka Kerstin

Anmeldungsdatum: 11.11.2004 Beiträge: 2532 Wohnort: nähe Mannheim
|
Verfasst am: 15.01.2006, 00:39 Titel: |
|
|
Odys hat Folgendes geschrieben: | Und wo ist die .exe ?  |
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 |
|
 |
Odys
Anmeldungsdatum: 14.01.2006 Beiträge: 40
|
Verfasst am: 15.01.2006, 00:42 Titel: |
|
|
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 |
|
 |
Devilkevin aka Kerstin

Anmeldungsdatum: 11.11.2004 Beiträge: 2532 Wohnort: nähe Mannheim
|
Verfasst am: 15.01.2006, 00:56 Titel: |
|
|
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)
Du kannst deine Programme aber auch ohne die IDE (da wo du dein Quellcode eingibst) durch den Compiler jagen. _________________ www.piratenpartei.de |
|
Nach oben |
|
 |
Michael Frey

Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
Verfasst am: 15.01.2006, 09:22 Titel: |
|
|
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 |
|
 |
Odys
Anmeldungsdatum: 14.01.2006 Beiträge: 40
|
Verfasst am: 15.01.2006, 14:23 Titel: |
|
|
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 |
|
 |
Michael Frey

Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
Verfasst am: 15.01.2006, 17:16 Titel: |
|
|
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 |
|
 |
Odys
Anmeldungsdatum: 14.01.2006 Beiträge: 40
|
Verfasst am: 15.01.2006, 17:54 Titel: |
|
|
Danke endlich habe ich ein vernünftiges Bild !
(Man muss es halt einfach verstehen) _________________ Ich bin (noch) kein Profi, habt etwas Verständnis ! |
|
Nach oben |
|
 |
Odys
Anmeldungsdatum: 14.01.2006 Beiträge: 40
|
Verfasst am: 15.01.2006, 18:58 Titel: |
|
|
Die Probleme gehen weiter :
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 |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 15.01.2006, 19:05 Titel: |
|
|
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 |
|
 |
Michael Frey

Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
Verfasst am: 15.01.2006, 19:47 Titel: |
|
|
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 |
|
 |
Odys
Anmeldungsdatum: 14.01.2006 Beiträge: 40
|
Verfasst am: 16.01.2006, 18:51 Titel: |
|
|
DANKE
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 |
|
 |
Dusky_Joe

Anmeldungsdatum: 07.01.2005 Beiträge: 1007 Wohnort: Regensburg/Oberpfalz
|
Verfasst am: 20.01.2006, 18:02 Titel: |
|
|
Nochmal eine Link-Liste auf die Ref; bei diesem Forum muss man mit den Referenz-Links nämlich tatsächlich ein bisschen 'tricksen'
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 |
|
 |
|