 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Colle
Anmeldungsdatum: 25.05.2007 Beiträge: 21
|
Verfasst am: 26.05.2007, 16:51 Titel: unterschiedliche mit imagecreate erzeugte Bilder kombinieren |
|
|
Hi.
Da es wirklich wichtig und dringend ist, starte ich an dieser Stelle nochmal einen eigenen Beitrag für folgendes Problem:
Zur Zeit arbeite ich an einer Eingabemaske für eine einfache Berechnungssoftware, die aus der Kombination aus im Screen angezeigten bmp-Dateien und den normalen mit imagecreate erzeugten Bildern gestaltet werden soll.
Einen Ausschnitt aus einer solchen bmp-Datei kann man hier sehen:
Die bmp wird im screen dargestellt über:
Code: |
cls
Screen 19,32
Dim Bild as any ptr
Bild = ImageCreate(100,100)
Bload "Bildname.Bmp",Bild
put (100,100),Bild,Pset
|
Diese Darstellung möchte ich gerne mit Feldern kombinieren,die man im screen mit z.B.:
Code: |
cls
screen 19
DIM Feld AS ANY PTR
Feld = IMAGECREATE (10,10 )
LINE Feld, ( 0, 0 ) - ( 10, 10 ), 10, BF
PUT ( 300, 50 ), Feld, PSET
|
erzeugt.
Irgendwie bekomme ich das aber nicht hin.
Es fängt schon damit an,dass in einem gewählten screen 19, 32 zwar die bmp ,nicht aber das zusätzliche Feld angezeigt wird,unabhängig davon,ob ich versuche,beide gleichzeitig darstellen zu lassen.
Das Feld erscheint aber,wenn ich nur screen 19 verwende.
Mit screen 19 wird dann die bmp aber nicht mehr angezeigt.
Könnt ihr mir weiterhelfen?
Mein Plan besteht darin,meine Eingabemaske weitestgehend mit Photoshop als bmp zu kreiieren und mit Freebasic die Menüführung (Dynamische Anzeigen und Erklärungen zu den Inputs usw.) zu gestalten.
Hier zB. habe ich eine Art primitives grünes Blinklicht programmiert,dass Kontextabhängig auf der obigen bmp Verwendung finden soll.
Code: |
cls
DIM Licht AS ANY PTR
DIM shared i
screen 19
Licht = IMAGECREATE (10,10 )
sleep 1500
for i=1 to 40
LINE Licht, ( 0, 0 ) - ( 10, 10 ), 0, BF
PUT ( 300, 50 ), Licht, PSET
sleep 60
LINE Licht, ( 0, 0 ) - ( 10, 10 ), 10, BF
PUT ( 300, 50 ), Licht, PSET
sleep 60
next i
|
|
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 26.05.2007, 16:59 Titel: |
|
|
Hallo,
du machst dir da aber einiges schwieriger als nötig.
Code: | cls
Screen 19,32
Dim Bild as any ptr
Bild = ImageCreate(100,100)
Bload "Bildname.Bmp",Bild
put (100,100),Bild,Pset
LINE (300,100)-(400,200),RGB(255,0,255),BF
LINE (320,120)-(380,180),0,BF
LINE (100,300)-(110,310),RGB(255,0,0),BF
SLEEP: END |
Um Linien oder Rechtecke auf den Bildschirm zu zeichnen, brauchst du weder Imagecreate noch einen Imagebuffer noch GET und PUT. Auf den Bildschirm kannst du mit LINE, PSET und DRAW auch direkt zeichnen.
Viele Grüße!
Sebastian _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
 |
Colle
Anmeldungsdatum: 25.05.2007 Beiträge: 21
|
Verfasst am: 26.05.2007, 17:49 Titel: |
|
|
Hi Sebastian,
vielen Dank für dein Interesse!
Ich habe eben mal den von dir bereitgestellten code ausprobiert,indem ich einfach die Test-bmp mit Inhalt füllte.
Vielen Dank.
Hier stelle ich mal eine erste Spielerei ein,damit man sich vorstellen kann,wie der oberste Teil der Eingabemaske vielleicht mal aussehen wird.
Edit:Gestrichen!
Im schwarzen Freiraum sollen Einzeiler erscheinen,die den Benutzer konsequent durch die Software führen usw.
Direkt rechts davon möchte ich mein primitives Blinklicht einfügen.
(Muss noch auf die Rechteckmaße angepasst werden.)
Der eigentliche Interfaceteil bedarf noch eines Konzeptes. 
Zuletzt bearbeitet von Colle am 27.07.2007, 14:01, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
 |
Dusky_Joe

Anmeldungsdatum: 07.01.2005 Beiträge: 1007 Wohnort: Regensburg/Oberpfalz
|
Verfasst am: 26.05.2007, 23:20 Titel: |
|
|
Mach es, wie's Sebi dir vorgeschlagen hat. Trotzdem, als kleine Hintergrund-Info:
Das Problem liegt daran, dass die beiden Ausschnitte eben für verschiedene Modi vorbereitet werden. FreeBASIC hat ein kleines Konverter-Tool für genau solche Probleme. Siehe in der Referenz
http://www.freebasic.de/r.php?s=ImageConvertRow
Have a nice day
Ciao
Dusky_Joe _________________ 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 |
|
 |
|
|
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.
|
|