Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
OneCypher
Anmeldungsdatum: 23.09.2007 Beiträge: 802
|
Verfasst am: 10.11.2008, 15:58 Titel: Screen mit Image-Header? |
|
|
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 |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 10.11.2008, 17:26 Titel: |
|
|
imagecreate + GET?
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  _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
OneCypher
Anmeldungsdatum: 23.09.2007 Beiträge: 802
|
Verfasst am: 10.11.2008, 17:58 Titel: |
|
|
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 |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 10.11.2008, 19:33 Titel: |
|
|
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 |
|
 |
OneCypher
Anmeldungsdatum: 23.09.2007 Beiträge: 802
|
Verfasst am: 10.11.2008, 20:33 Titel: |
|
|
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 |
|
 |
Eternal_pain

Anmeldungsdatum: 08.08.2006 Beiträge: 1783 Wohnort: BW/KA
|
Verfasst am: 14.11.2008, 23:47 Titel: |
|
|
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  _________________
 |
|
Nach oben |
|
 |
OneCypher
Anmeldungsdatum: 23.09.2007 Beiträge: 802
|
Verfasst am: 15.11.2008, 12:39 Titel: |
|
|
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 |
|
 |
*Andy*
Anmeldungsdatum: 15.12.2007 Beiträge: 9
|
Verfasst am: 15.11.2008, 13:07 Titel: |
|
|
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 |
|
 |
Eternal_pain

Anmeldungsdatum: 08.08.2006 Beiträge: 1783 Wohnort: BW/KA
|
Verfasst am: 15.11.2008, 13:22 Titel: |
|
|
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 ) _________________
 |
|
Nach oben |
|
 |
|