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:

Screen mit Image-Header?

 
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
OneCypher



Anmeldungsdatum: 23.09.2007
Beiträge: 802

BeitragVerfasst am: 10.11.2008, 15:58    Titel: Screen mit Image-Header? Antworten mit Zitat

Gibt es einen weg wie man einem Screen einen Image-Header verpassen kann?

Ich würde einen Screen gerne wie ein Image-Buffer behandeln.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


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

BeitragVerfasst am: 10.11.2008, 17:26    Titel: Antworten mit Zitat

imagecreate + GET? Zunge rausstrecken
was ist denn so anders an einem imagebuffer?
- du kannst auf beiden GETten und PUTten
- du kannst auf beiden schreiben
- du kannst auf beiden malen

ich seh da keinen unterschied 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
OneCypher



Anmeldungsdatum: 23.09.2007
Beiträge: 802

BeitragVerfasst am: 10.11.2008, 17:58    Titel: Antworten mit Zitat

Es geht darum, das ich grafikanweisungen "kapseln" möchte.
Deren Ausgabe im Prinzip umleite ohne das man eingriffe in den code vornehmen muss.

Richtig genial wäre es wenn man grafikanweisungen generell an einen image-buffer umleiten könnte... das wäre richtig genial weil dann absolut gar keine modifikationen an grafikanweisungen nötig wären...
Ich könnte mir so eine art dummy-screen vorstellen.. wo man einen screen eröffnet, der aber kein fenster erzeugt sondern "nur" einen image-buffer auf den der screenptr zeigt..
//edit: vorsicht, seltsame ausdrucksweise: Im letzten satz soll es so verstanden werden das der screenptr auf einen image-buffer zeigt (nicht umgekehrt)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


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

BeitragVerfasst am: 10.11.2008, 19:33    Titel: Antworten mit Zitat

Zitat:
-1 GFX_NULL Grafikmodus ohne visuelles Feedback

-1 als flag übergeben und du hast deinen magischen unsichtbaren SCREEN.

und theoretisch musst du immer den pointer zu einem buffer übergeben, bei screen wird der halt automatisch gesetzt, falls nicht vorhanden. was soll da bitte noch der unterschied sein?!
_________________
» 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
OneCypher



Anmeldungsdatum: 23.09.2007
Beiträge: 802

BeitragVerfasst am: 10.11.2008, 20:33    Titel: Antworten mit Zitat

Der unterschied ist der, dass ich so fertig programmierte Funktionen nicht "kapseln" kann. Ich muss den grafikfunktionsaufrufe überall einen buffer nachtragen damit sie nicht direkt auf den screen schreiben..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 14.11.2008, 23:47    Titel: Antworten mit Zitat

mal ueberlegt einfach mehrere Bildschirmseiten zu benutzen?
Da kannst ganz bequem arbeits- und anzeigescreen angeben und im hintergrund arbeiten und das ganze dann hin und her kopieren wie es Dir spass macht happy
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
OneCypher



Anmeldungsdatum: 23.09.2007
Beiträge: 802

BeitragVerfasst am: 15.11.2008, 12:39    Titel: Antworten mit Zitat

Es geht ja nicht darum bildschirminhalte hin und herzukopieren. Es geht darum ausgaben von grafikfunktionen zu "kapseln" und zwar nicht seitenweise sondern für beschränkte bereiche in denen gezeichnet werden darf.

Man stelle sich vor, ein Quelltext zeichnet ein bild auf den screen.
Nun möchte ich aber das es nicht direkt auf den screen gezeichnet wird sondern in einen buffer. Damit kann ich dann das bild an beliebiger stelle auf dem screen reinzeichnen und das zu einem zeitpunkt den ich festlege.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
*Andy*



Anmeldungsdatum: 15.12.2007
Beiträge: 9

BeitragVerfasst am: 15.11.2008, 13:07    Titel: Antworten mit Zitat

Hallo,

Zeichne doch einfach in einen Buffer, diesen Buffer kannst du dann ausgeben lassen.

z. B.

Code:

Screen 19

Dim Buffer As Any Ptr
Buffer = ImageCreate(100, 100)

Line Buffer,(20, 20)-(40, 40), 15, bf            'Box in Buffer Zeichnen
Line Buffer,(20, 20)-(40, 40), 1                   'Linie in den Buffer Zeichnen
Pset Buffer,(35, 25), 1                                'Punkt in den Buffer Zeichnen
Draw String Buffer,(22, 27), "A", 1, , Trans  'Text in Buffer Zeichnen

Put (200, 200), Buffer, Pset  'Buffer Ausgeben

Sleep


ImageDestroy Buffer


hoffe das du soedwas gemeind hast, und ich es nicht falsch verstanden hab.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 15.11.2008, 13:22    Titel: Antworten mit Zitat

OneCypher hat Folgendes geschrieben:
Es geht ja nicht darum bildschirminhalte hin und herzukopieren. Es geht darum ausgaben von grafikfunktionen zu "kapseln" und zwar nicht seitenweise sondern für beschränkte bereiche in denen gezeichnet werden darf.

Man stelle sich vor, ein Quelltext zeichnet ein bild auf den screen.
Nun möchte ich aber das es nicht direkt auf den screen gezeichnet wird sondern in einen buffer. Damit kann ich dann das bild an beliebiger stelle auf dem screen reinzeichnen und das zu einem zeitpunkt den ich festlege.


Dann brauchst so oder so einen buffer der dann mit get/put anweisungen den teilbereich kopiert?! Das geht doch mit zwei (oder mehr) bildschirmseiten ganz gut, waerend du immer auf den nicht sichbaren arbeitsbereich 'schreibst' kannst doch auch von dort dann simpel den kleinen teil den du haben willst in die 'aktive' Bildschirmseite 'kopieren' ohne viel aendern zu muessen.

Alternativ koennte es vielleicht noch mit dem befehl 'view' gehen (muesste ich nachlesen / probieren, hab FB nur grad auf 'ner anderen platte und keine lust umzuschrauben happy)
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
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