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:

zeichnen ohne Fenster
Gehe zu Seite 1, 2  Weiter
 
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
Luke



Anmeldungsdatum: 14.01.2009
Beiträge: 92
Wohnort: Ostfriesland !

BeitragVerfasst am: 23.09.2009, 22:24    Titel: zeichnen ohne Fenster Antworten mit Zitat

Moin Leute! Hab es schon in vielen anderen Programmen gesehen, aber den Code nicht verstanden durchgeknallt. Ich wollt gern mal wissen, wie man auf dem Desktop zeichnen, bzw. den Desktop Ausschnitt hinterm Grafikfenster in dieses hinein kopieren kann. Es soll zum Beispiel in einfaches Quadrat oder ein Kreis auf dem Bildschirm erscheinen, ohne dass man ein schwarzes fenster sieht. Danke für antworten!
_________________
ICH war mal schizophren, aber jetzt sind WIR okay.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MOD
Fleißiger Referenzredakteur


Anmeldungsdatum: 10.09.2007
Beiträge: 1003

BeitragVerfasst am: 23.09.2009, 22:28    Titel: Antworten mit Zitat

Mach doch einfach ein Fenster ohne Rahmen, dass du dann transparent machst. Für das Fenster mal das Stichwort: GFX_SHAPED_WINDOW
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
The_Muh
aka Mark Aroni


Anmeldungsdatum: 11.09.2006
Beiträge: 718

BeitragVerfasst am: 23.09.2009, 22:42    Titel: Antworten mit Zitat

gibt auch nen GFX-modus ohne fenster... da muss man nicht so rumtricksen
einfach mal in die referenz bei den screen-flags gucken.
_________________
// nicht mehr aktiv //
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


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

BeitragVerfasst am: 23.09.2009, 22:49    Titel: Antworten mit Zitat

Hat MOD ja schon gesagt. 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
Luke



Anmeldungsdatum: 14.01.2009
Beiträge: 92
Wohnort: Ostfriesland !

BeitragVerfasst am: 23.09.2009, 23:10    Titel: Antworten mit Zitat

Ey Super! Danke für die antworten! Noch Ne Frage: Was muss ich includen?
_________________
ICH war mal schizophren, aber jetzt sind WIR okay.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MOD
Fleißiger Referenzredakteur


Anmeldungsdatum: 10.09.2007
Beiträge: 1003

BeitragVerfasst am: 23.09.2009, 23:16    Titel: Antworten mit Zitat

Die fbgfx.bi und
Code:
using fb

einfügen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
The_Muh
aka Mark Aroni


Anmeldungsdatum: 11.09.2006
Beiträge: 718

BeitragVerfasst am: 23.09.2009, 23:18    Titel: Antworten mit Zitat

Ich meinte GFX_NULL:
Code:
screen 1,,, -1


/Edit: da muss man auch nix includen.
_________________
// nicht mehr aktiv //
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Luke



Anmeldungsdatum: 14.01.2009
Beiträge: 92
Wohnort: Ostfriesland !

BeitragVerfasst am: 23.09.2009, 23:24    Titel: Antworten mit Zitat

@ The Muh: Hab ich auch gade heraus gefunden, und funzt auch.
wollte nur erst das andere probieren.

@MOD funzt auch! Danke

Äh....
wieso wird jetzt nichts angezeigt beim zeichnen?
_________________
ICH war mal schizophren, aber jetzt sind WIR okay.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Luke



Anmeldungsdatum: 14.01.2009
Beiträge: 92
Wohnort: Ostfriesland !

BeitragVerfasst am: 23.09.2009, 23:41    Titel: Antworten mit Zitat

irgentwie klappts jetzt gar nicht mehr.
mit dem flag -1 kan ich nicht zeichnen, und nach MOD's Methode wird trotzdem ein schwarzes fenster gezeichnet:
Code:
#include "fbgfx.bi"
    using fb

screen 16,32,,8,gfx_shaped_window
line (1,1)-(100,100),rgb(255,0,0),bf
sleep

und
Code:
#include "fbgfx.bi"
    using fb

screen 16,32,,-1
line (1,1)-(100,100),rgb(255,0,0),bf
sleep


nichts klappt?! Tut mir Leid ich schreibe, bevor ich denke und handle. Werts mir abgewöhnen.
_________________
ICH war mal schizophren, aber jetzt sind WIR okay.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MOD
Fleißiger Referenzredakteur


Anmeldungsdatum: 10.09.2007
Beiträge: 1003

BeitragVerfasst am: 23.09.2009, 23:54    Titel: Antworten mit Zitat

Du hast da ein paar Kommas zu viel bei Screen.

Versuch es mal so:

Code:
SCREEN 16,32,,16

Line(0,0)-(511,383),&hffff00ff,bf


LINE (1,1)-(100,100),RGB(255,0,0),bf
SLEEP
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Luke



Anmeldungsdatum: 14.01.2009
Beiträge: 92
Wohnort: Ostfriesland !

BeitragVerfasst am: 24.09.2009, 00:05    Titel: Antworten mit Zitat

das klappt

Nur was hat
Code:
Line(0,0)-(511,383),&hffff00ff,bf
direkt zu bedeuten?
mit (0,0)-(511,383) wird das ganze Fenster mit der Farbe &hffff00ff "bemalt"
was ist "&hffff00ff" ?
_________________
ICH war mal schizophren, aber jetzt sind WIR okay.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MOD
Fleißiger Referenzredakteur


Anmeldungsdatum: 10.09.2007
Beiträge: 1003

BeitragVerfasst am: 24.09.2009, 00:29    Titel: Antworten mit Zitat

Das hab ich nur schnell aus einem alten Code rauskopiert, RGB(255,0,255) würde auch gehen.

Die Farbe zu dem Wert ist rosa und die wird als transparent interpretiert.

Statt Line könnte man es auch so machen:
Code:
Color ,RGB(255,0,255):Cls

Es gibt mehrere Methoden das zu machen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Löwenherz



Anmeldungsdatum: 25.08.2008
Beiträge: 86
Wohnort: auf einer sonnigen Insel :)

BeitragVerfasst am: 24.09.2009, 08:17    Titel: Antworten mit Zitat

guten morgen,

wußte gar nicht, dass man bei FB solche Sachen auch ohne Fenster erstellen kann, gut zu wissen!

habe ein einfaches Beispiel mit Rechtecken gemacht, das letzte ist dann transparant, danke für die Infos MOD mit dem Rosa!

Code:

SCREEN 16,32,,16

LINE(0,0)-(511,383),&hffff00ff,bf
LINE (10,10)-(100,100),RGB(255,0,0),bf
print "fbx versuch"

GetKey
COLOR ,RGB(255,0,100)':CLS

Line(0,0)-(511,383),&hffff00ff,bf
LINE (20,20)-(160,160),RGB(255,100,60),bf
print "fbx 2. versuch"

GetKey

Line(0,0)-(511,383),&hffff00ff,bf
LINE (10,10)-(230,230),RGB(255,0,210),bf
print "fbx 3. versuch"

GetKey

COLOR ,RGB(55,0,250)
Line(0,0)-(511,383),&hffff00ff,bf
LINE (0,0)-(280,280),RGB(255,0,255),bf
print "fbx 4. versuch"

SLEEP


Color,RgB(255,0,100) bezieht sich hier im Beispiel auf den farbigen Textbereich zwinkern

schönen Tag noch, löwenherz
_________________
Das Leben ist wie eine Pralinenschachtel, man weiß nie, was dort drinnen für tolle wie böse Überraschungen stecken
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
The_Muh
aka Mark Aroni


Anmeldungsdatum: 11.09.2006
Beiträge: 718

BeitragVerfasst am: 24.09.2009, 16:05    Titel: Antworten mit Zitat

Ups... ich hab dich falsch verstanden... ich dachte du willst nur in den Puffer malen und diesen abspeichern... *donk*

direkt auf dem desktop... unter linux soll das angeblich mit Cario klappen... weiß aber nicht ob das stimmt und ob das auch unter windows klappt...
_________________
// nicht mehr aktiv //
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Luke



Anmeldungsdatum: 14.01.2009
Beiträge: 92
Wohnort: Ostfriesland !

BeitragVerfasst am: 24.09.2009, 17:03    Titel: Antworten mit Zitat

@ The Muh Geht schon klar.
@ MOD Warum wird ausgerechnet bei der Farbe rosa durchsichtig gezeichnet? (wegen hintergrundwissen und so... happy )
_________________
ICH war mal schizophren, aber jetzt sind WIR okay.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
tim.vogt



Anmeldungsdatum: 01.03.2009
Beiträge: 56

BeitragVerfasst am: 24.09.2009, 17:36    Titel: Antworten mit Zitat

Luke hat Folgendes geschrieben:
Warum wird ausgerechnet bei der Farbe rosa durchsichtig gezeichnet? (wegen hintergrundwissen und so... happy )


Weil man Rosa idR. nicht für Grafiken benutzt und deswegen auch bei anderen Sprachen/Spielen als durchsichtig nimmt. Ansonsten ist das pure Willkür.
_________________
"Nichts ist wahrhaftig und alles ist erlaubt."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 24.09.2009, 17:36    Titel: Antworten mit Zitat

Weil Rosa die Standardfarbe für Transparenz ist. Das war sie auch schon vor rund 10 Jahren. Wahrscheinlich sogar noch länger.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Luke



Anmeldungsdatum: 14.01.2009
Beiträge: 92
Wohnort: Ostfriesland !

BeitragVerfasst am: 24.09.2009, 19:04    Titel: Antworten mit Zitat

Auch mal gut zu wissen. danke! jetzt weiß auch ich mal bescheid grinsen
_________________
ICH war mal schizophren, aber jetzt sind WIR okay.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Luke



Anmeldungsdatum: 14.01.2009
Beiträge: 92
Wohnort: Ostfriesland !

BeitragVerfasst am: 24.09.2009, 20:41    Titel: Antworten mit Zitat

Ey, probiert das mal aus. ist ganz lustig.
(beenden mit esc)
Code:
dim as integer breite, hoehe,r(20),g(20),b(20),re,gr,bl,x(20),y(20),rx(20),ry(20),i,i2
screeninfo breite, hoehe
screenres breite, hoehe,32,2,16
randomize timer
screenset 1, 0

line (0,0)-(breite-1,hoehe-1),rgb(255,0,255),bf
pcopy 1, 0

for i = 0 to 20
    x(i) = rnd*breite-40+20
    y(i) = rnd*hoehe-40+20
   
    rx(i) = rnd*1
    if rx(i) = 0 then rx(i) = -1
    ry(i) = rnd*1
    if ry(i) = 0 then ry(i) = -1
   
    r(i) = rnd*230
    g(i) = rnd*230
    b(i) = rnd*230
next i

do
    for i = 0 to 20
        re = r(i)
        gr = g(i)
        bl = b(i)
        for i2 = 20 to 0 step -1
            circle (x(i),y(i)),i2,rgb(re,gr,bl),,,,F
            re = re +1
            gr = gr +1
            bl = bl +1
        next i2
        for i2 = 0 to 20
            x(i) = x(i) + rx(i)
            y(i) = y(i) + ry(i)
            if x(i) < 20 or x(i) > breite-20 then rx(i) = rx(i)*-1
            if y(i) < 20 or y(i) > hoehe-20 then ry(i) = ry(i)*-1
        next
    next
    pcopy 1, 0
    line (0,0)-(breite-1,hoehe-1),rgb(255,0,255),bf
    sleep 10
loop while inkey  <> chr(27)
end

_________________
ICH war mal schizophren, aber jetzt sind WIR okay.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Luke



Anmeldungsdatum: 14.01.2009
Beiträge: 92
Wohnort: Ostfriesland !

BeitragVerfasst am: 24.09.2009, 21:53    Titel: Antworten mit Zitat

Noch verbessert:
Code:
dim as integer breite, hoehe,r(20),g(20),b(20),re,gr,bl,x(20),y(20),rx(20),ry(20),i,i2,speed
dim as string a
screeninfo breite, hoehe
screenres breite, hoehe,32,2,16
randomize timer
screenset 1, 0

speed = 4
line (0,0)-(breite-1,hoehe-1),rgb(255,0,255),bf
pcopy 1, 0

for i = 0 to 20
    x(i) = rnd*breite-40+20
    y(i) = rnd*hoehe-40+20
   
    rx(i) = rnd*10
    if rx(i) < 5 then rx(i) = -1*speed else rx(i) = speed
    ry(i) = rnd*10
    if ry(i) < 5 then ry(i) = -1*speed else ry(i) = speed
   
    r(i) = rnd*230
    g(i) = rnd*230
    b(i) = rnd*230
next i

do
    for i = 0 to 20
        re = r(i)
        gr = g(i)
        bl = b(i)
        for i2 = 20 to 0 step -1
            circle (x(i),y(i)),i2,rgb(re,gr,bl),,,,F
            re = re +1
            gr = gr +1
            bl = bl +1
        next i2
    next
        for i2 = 0 to 20
            x(i2) = x(i2) + rx(i2)
            y(i2) = y(i2) + ry(i2)
            if x(i2) < 20 or x(i2) > breite-20 then rx(i2) = rx(i2)*-1
            if y(i2) < 20 or y(i2) > hoehe-20 then ry(i2) = ry(i2)*-1
        next
    pcopy 1, 0
    line (0,0)-(breite-1,hoehe-1),rgb(255,0,255),bf
loop while inkey  <> chr(27)
end


wenn ihr im programm die Zahl speed durch z.B 1 ersetzt, dann bewegen sich die Kugeln langsamer. Nur so zum zeitvertreib. zwinkern
_________________
ICH war mal schizophren, aber jetzt sind WIR okay.
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
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
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