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:

Bei 32 bit nur Blautöne?

 
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
surfer87



Anmeldungsdatum: 16.09.2004
Beiträge: 103

BeitragVerfasst am: 09.08.2007, 23:42    Titel: Bei 32 bit nur Blautöne? Antworten mit Zitat

Hi, ich code gerade ein Programm mit Screen 18, 32, 2

Ich wollte eigentlich einen weißen Hintergrund, aber die Farbwerte bewegen sich nur im dunkel- bis hellblauen Bereich, wie kommt das?

Außerdem verändert sich die Hintergrundfarbe wenn ich ein Bild einfüge (Bitmap) Wieso?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 09.08.2007, 23:49    Titel: Antworten mit Zitat

Kann es sein, daß du in deinem Programm den Palette-Befehl benutzt?
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4702
Wohnort: ~/

BeitragVerfasst am: 09.08.2007, 23:49    Titel: Antworten mit Zitat

Ich verwende normal als Farbtiefe 24, hatte da keine Probleme. Probiere das mal aus.

Die Farben gehen jetzt von &h000000 bis &hffffff (also von 0 bis 2^24), nicht mehr nur von 0 bis 15.

edit: natürlich 2^24 - 1 ...
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.


Zuletzt bearbeitet von nemored am 09.08.2007, 23:58, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
AndT



Anmeldungsdatum: 02.04.2007
Beiträge: 481

BeitragVerfasst am: 09.08.2007, 23:53    Titel: Re: Bei 32 bit nur Blautöne? Antworten mit Zitat

surfer87 hat Folgendes geschrieben:
Hi, ich code gerade ein Programm mit Screen 18, 32, 2

Ich wollte eigentlich einen weißen Hintergrund, aber die Farbwerte bewegen sich nur im dunkel- bis hellblauen Bereich, wie kommt das?


32bit Farben sind eben nicht 8bit sondern eine ganze Menge mehr Farben.
Um Weiss zu bekommen, reicht dann nicht mehr einfach color 15.
Dafür gibt es RGB. Rgb sind die einzelnden Kanäle (Rot,Grün,Blau) alle sind bis 255 festgelegt. Also um Weis trotzdem zu bekommen musst du
Code:
RGB(255,255,255)
benutzen
_________________
Bis irgendwann... grinsen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4702
Wohnort: ~/

BeitragVerfasst am: 09.08.2007, 23:58    Titel: Antworten mit Zitat

Oder &hffffff zwinkern
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
surfer87



Anmeldungsdatum: 16.09.2004
Beiträge: 103

BeitragVerfasst am: 10.08.2007, 00:02    Titel: Antworten mit Zitat

Kleines Beispiel um mein Problem zu verdeutlichen:

Code:

screen 18,32,2
dim zahl1 as integer
dim zahl2 as integer
dim a as integer
do
    a = a + 1
    zahl1 = zahl1 + 1
    if zahl1 = 640 then
        zahl1 = 0
        zahl2 = zahl2 + 1
    end if
    if zahl2 = 480 and zahl1 = 639 then exit do
    pset (zahl1,zahl2),a   
loop
sleep




Und die Ausgabe
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
AndT



Anmeldungsdatum: 02.04.2007
Beiträge: 481

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

Code:
screen 18,32,2
line (0,0)-(640,480),RGB(255,255,255),bf
sleep

wo ist da das problem zwinkern
_________________
Bis irgendwann... grinsen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4702
Wohnort: ~/

BeitragVerfasst am: 10.08.2007, 00:08    Titel: Antworten mit Zitat

Ich sehe jetzt auf die Schnelle nicht, was dein Programm macht, aber mit pset (x,y), &hffffff bekomme ich einen weißen Punkt.

Ja, jetzt ist es klar: Dein Programm läuft ja nur bis &h04B000, durchläuft also einen großen Teil der Farben (fast die ganze Rotpalette) gar nicht.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.


Zuletzt bearbeitet von nemored am 10.08.2007, 00:11, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
surfer87



Anmeldungsdatum: 16.09.2004
Beiträge: 103

BeitragVerfasst am: 10.08.2007, 00:10    Titel: Antworten mit Zitat

AndT hat Folgendes geschrieben:
Code:
screen 18,32,2
line (0,0)-(640,480),RGB(255,255,255),bf
sleep

wo ist da das problem zwinkern


tatsache happy jetzt klappt das auch mit dem Bitmap putten.

Aber nur der Info halber......

1. Wieso ist die Farbbelegung mit Paint so komisch gewesen?
und
2. Wieso hat sich die Hintergrundfarbe geändert, sobald ich das Bitmap eingefügt hab? (Egal ob Pset, and, trans) (Hat jetzt nix mit diesem bild hier zu tun)


Zuletzt bearbeitet von surfer87 am 10.08.2007, 00:12, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
AndT



Anmeldungsdatum: 02.04.2007
Beiträge: 481

BeitragVerfasst am: 10.08.2007, 00:11    Titel: Antworten mit Zitat

Natürlich geht auch
Code:
screen 18,32,2
line (0,0)-(640,480),&hffffff,bf
sleep

das ist im Prinzip das gleiche zwinkern
_________________
Bis irgendwann... grinsen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4702
Wohnort: ~/

BeitragVerfasst am: 10.08.2007, 00:12    Titel: Antworten mit Zitat

Bitmaps können mit Palette (indiziert) gespeichert sein, und wenn die Palettenbelegung eine andere ist als die in deinem Programm, dann wird das Bild falsch dargestellt.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
surfer87



Anmeldungsdatum: 16.09.2004
Beiträge: 103

BeitragVerfasst am: 10.08.2007, 00:14    Titel: Antworten mit Zitat

Ahhh happy Super danke.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
AndT



Anmeldungsdatum: 02.04.2007
Beiträge: 481

BeitragVerfasst am: 10.08.2007, 00:17    Titel: Antworten mit Zitat

Paint geht auch zwinkern
Code:
screen 18,32,2
cls
paint (0,1),&hffffff
sleep

es führen viele Wege nach Rom Ja!
_________________
Bis irgendwann... grinsen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4702
Wohnort: ~/

BeitragVerfasst am: 10.08.2007, 00:21    Titel: Antworten mit Zitat

Oder ein Kreis mit Radius 1 mit den Augen rollen
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

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

Komisch, kaum stehen da ein paar Zeilen Quellcode, klappts auch mit
den Tipps..
Wie kommt das bloß?vor lachen auf dem Boden rollen
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Eternal_pain



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

BeitragVerfasst am: 13.08.2007, 08:58    Titel: Antworten mit Zitat

Ein einfaches Beispiel, wie ich Dein Beispiel interpretiert habe...
Einfach mal mit den werten spielen zwinkern
dann kann man auch ganz nett aussehende Farbverlaeufe erstellen...

Code:

screen 18,32
dim b as integer
dim g as integer
dim r as integer

for y as integer=0 to 479
for x as integer=0 to 639
   
    b = ((255)*((y+1))\480)
    r = ((255)*((x+1))\640)
    g = ((255)*(((x+1)+(y+1)))\1120)
   
    pset (x,y),rgb(r,g,b)
   
next x
next y

_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
AndT



Anmeldungsdatum: 02.04.2007
Beiträge: 481

BeitragVerfasst am: 13.08.2007, 13:49    Titel: Antworten mit Zitat

Und was mache ich aus dieses Beispiel?

Code:
screen 14,32


dim b as integer
dim g as integer
dim r as integer
screeninfo r,g
print r,g
sleep
do
    i+=1
for y as integer=0 to 240
for x as integer=0 to 320
   
    b = ((255)*((y+1))\320)+i
    r = ((255)*((x+1))\240)+i
    g = ((255)*(((x+1)+(y+1)))\1210)+i
   
    pset (x,y),rgb(r,g,b)
   
next x
next y
screensync
loop
sleep

Nen Screensaver zwinkern

//Edit

Mit Erdbeeben effect:
Code:
screen 14,32


dim b as integer
dim g as integer
dim r as integer
screeninfo r,g
print r,g
sleep
i=10
do
screenlock
I+=int(rnd*15)+1
I-=int(rnd*15)

for y as integer=0 to 240
for x as integer=0 to 320
   
    b = ((255)*((y+1))\320)+i
    r = ((255)*((x+1))\240)+i
    g = ((255)*(((x+1)+(y+1)))\1210)+i
   
    pset (x,y),rgb(r,g,b)
   
next x
next y
print i
screensync
screenunlock


loop
sleep

_________________
Bis irgendwann... grinsen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Eternal_pain



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

BeitragVerfasst am: 13.08.2007, 20:10    Titel: Antworten mit Zitat

wenn Du schon solche Beispiele bringst...
Dann doch bitte Option Explicit und vergiss nicht immer eine abbruchmoeglichkeit einzubauen durchgeknallt
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
Jojo
alter Rang


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

BeitragVerfasst am: 13.08.2007, 20:22    Titel: Antworten mit Zitat

In den neuen Versionen ist Option Explicit zum Glück sowieso automatisch an happy
_________________
» 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
Eternal_pain



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

BeitragVerfasst am: 13.08.2007, 20:23    Titel: Antworten mit Zitat

ja, das heisst aber auch, das man variablen vorher declarieren MUSS was hier wieder nicht der Fall war...
_________________
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