16 Farben Standardpalette in andere Farben ändern
Posted: Sun Feb 13, 2005 8:33 pm
Hallo,
seit tagen versuche ich bei SCREEN 12 die Standard Palette in meine eigenen Farbe Palette umzuändern. Leider geht das anscheinend nicht.
habe es mit dem Befehl z.B:
PALETTE 1, eigenefarbe
leider konnte ich für "eigenefarbe" einen maximalwert von 63 eingeben und das war ROT.
Gibt es eine Möglichkeit wie z.B bei HTML das man ein HEX wert einfügt?
Hier ist der Quelltext für eine 640*480 BMP die superschnell geladen wird jedoch nur mit Standardfarben.
Vielleicht weist Du wie ich dazu schnell eine Palettenänderung vornähmen kann
das ist der Quelltext.:
Dateikopf$ = SPACE$(54)
SCREEN 12
OPEN "test.bmp" FOR BINARY AS #2
GET #2, 1, Dateikopf$
BildBreite = CVL(MID$(Dateikopf$, 19, 4))
BildHoehe = CVL(MID$(Dateikopf$, 23, 4))
SEEK #2, CVL(MID$(Dateikopf$, 11, 4)) + 1
Daten$ = SPACE$(BildBreite / 2)
Laenge = (BildBreite \ 2) - 1
FOR Y = (BildHoehe - 1) TO 0 STEP -1
GET #2, , Daten$
FOR X = 0 TO Laenge
byte = ASC(MID$(Daten$, X + 1, 1))
PSET (X * 2, Y), byte \ 16
PSET (X * 2 + 1, Y), byte AND 15
NEXT
NEXT
CLOSE #2
seit tagen versuche ich bei SCREEN 12 die Standard Palette in meine eigenen Farbe Palette umzuändern. Leider geht das anscheinend nicht.
habe es mit dem Befehl z.B:
PALETTE 1, eigenefarbe
leider konnte ich für "eigenefarbe" einen maximalwert von 63 eingeben und das war ROT.
Gibt es eine Möglichkeit wie z.B bei HTML das man ein HEX wert einfügt?
Hier ist der Quelltext für eine 640*480 BMP die superschnell geladen wird jedoch nur mit Standardfarben.
Vielleicht weist Du wie ich dazu schnell eine Palettenänderung vornähmen kann
das ist der Quelltext.:
Dateikopf$ = SPACE$(54)
SCREEN 12
OPEN "test.bmp" FOR BINARY AS #2
GET #2, 1, Dateikopf$
BildBreite = CVL(MID$(Dateikopf$, 19, 4))
BildHoehe = CVL(MID$(Dateikopf$, 23, 4))
SEEK #2, CVL(MID$(Dateikopf$, 11, 4)) + 1
Daten$ = SPACE$(BildBreite / 2)
Laenge = (BildBreite \ 2) - 1
FOR Y = (BildHoehe - 1) TO 0 STEP -1
GET #2, , Daten$
FOR X = 0 TO Laenge
byte = ASC(MID$(Daten$, X + 1, 1))
PSET (X * 2, Y), byte \ 16
PSET (X * 2 + 1, Y), byte AND 15
NEXT
NEXT
CLOSE #2