Unterschiedliche Farbwerte im Fenstermodus / Fullscreen

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Travis

Betreff: Unterschiedliche Farbwerte im Fenstermodus / Fullscreen

BeitragSo, Aug 15, 2004 16:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe festgestellt, dass die ReadPixelFast-Funktion im Vollbildmodus einen anderen Farbwert ermittelt, als im Fenstermodus. Wie kann ich das denn anpassen? Ich würde gerne einen Farbwert eindeutig erkennen, und zwar unabhängig vom Bildschirmmodus.

Hier mal ein Beispiel damit ihr seht, was ich meine.

Code: [AUSKLAPPEN]

Dim FullScreenRGB(5)
Dim WindowRGB(5)

; Fullscreenmodus
Graphics 800,600,16,1

Bild = CreateImage(5,1)
SetBuffer ImageBuffer(Bild)

Color 255,  0,  0: Plot 0,0
Color   0,255,  0: Plot 1,0
Color   0,  0,255: Plot 2,0
Color 255,255,  0: Plot 3,0
Color 255,  0,255: Plot 4,0

LockBuffer ImageBuffer(Bild)
 For x = 0 To 4
  FullScreenRGB(x) = ReadPixelFast(x,y,ImageBuffer(Bild))
 Next
UnlockBuffer ImageBuffer(Bild)


; Fenstermodus
Graphics 800,600,16,2

Bild = CreateImage(5,1)
SetBuffer ImageBuffer(Bild)

Color 255,  0,  0: Plot 0,0
Color   0,255,  0: Plot 1,0
Color   0,  0,255: Plot 2,0
Color 255,255,  0: Plot 3,0
Color 255,  0,255: Plot 4,0

LockBuffer ImageBuffer(Bild)
 For x = 0 To 4
  WindowRGB(x) = ReadPixelFast(x,y,ImageBuffer(Bild))
 Next
UnlockBuffer ImageBuffer(Bild)


; -- Auswertung
SetBuffer FrontBuffer()

ScaleImage Bild, 30,30
DrawImage Bild, 0,0

Text 30, 50, "Die Farbwerte der einzelnen Bildpunkte einer Grafik."
Text 30, 60, "Die Werte wurden mit ReadPixelFast ermittelt. Das angezeigte"
Text 30, 70, "Bild wurde zur Kontrolle Scaliert. Es ist nur 5x1 Pixel groß."


Text 30,130, "Fullscreen:"

For i = 0 To 4
 Text 30, 150+i*15, i + ". " + FullScreenRGB(i)
Next

Text 200,130, "Fenstermodus:"

For i = 0 To 4
 Text 200, 150+i*15, i + ". " + WindowRGB(i)
Next

WaitKey
End
www.funforge.org

Ich hasse WASD-Steuerung.

Man kann alles sagen, man muss es nur vernünftig begründen können.

Bfox

BeitragSo, Aug 15, 2004 17:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Shocked Da kommen ja minus Zahlen raus! Und die sind Unterschiedlich!

Also das find ich komisch!
Glauben ist Mangel an Wissen!

BladeRunner

Moderator

BeitragSo, Aug 15, 2004 17:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Das liegt daran dass im Fenstermodus die Farbtiefe benutzt wird die für das Desktop benutzt wird. Unterscheidet sich die von der für den Fullscreen gibts auch bei Readpixel unterschiedliche Ausgaben. (16bit <--> 32 bit)
Auf der Blitzbase müsste die Formel zum Umrechnen vorhanden sein (16 bit ist wenn ich nicht irre "blaulastiger").
Das negative Werte ausgegeben werden ist nit ungewöhnlich, das heißt nur dass das 32.e bit gesetzt ist welches auch als Vorzeichenbit fungiert (das Alphabyte ist also <>0).
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Travis

BeitragSo, Aug 15, 2004 18:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Tatsächlich. Da muss man erstmal drauf kommen. Dann werde ich zur Entwicklung wohl auf 16 Bit runterschalten. Später gibt's ja sowieso nur den Vollbildmodus, dafür kann ich die Farbtiefe festlegen.
www.funforge.org

Ich hasse WASD-Steuerung.

Man kann alles sagen, man muss es nur vernünftig begründen können.

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group