schickst diese mit SetDIBColorTable_(....) an das 8-Bit-DC.
Code: Alles auswählen
Dim GrayTable.RGBQUAD(255)
Dim ColorTable.RGBQUAD(255)
For I = 0 To 255
GrayTable(i)\rgbBlue = i
GrayTable(i)\rgbGreen = i
GrayTable(i)\rgbRed = i
Next I
;Paletta aus DATA einlesen
Restore Palette
For I = 0 To 255
Read r.b
Read g.b
Read b.b
ColorTable(i)\rgbBlue = r
ColorTable(i)\rgbGreen = g
ColorTable(i)\rgbRed = b
Next I
CreateImage(0,640,480,24)
hdc = StartDrawing(ImageOutput(0))
BitBlt_(hdc,0,0,640,480,GetDC_(0),0,0,#SRCCOPY)
StopDrawing()
CreateImage(1,640,480,8)
hdc = StartDrawing(ImageOutput(1))
SetDIBColorTable_(hdc,0,255,GrayTable(0))
DrawImage(ImageID(0),0,0)
StopDrawing()
OpenWindow(0,0,0,640,480,"void",#PB_Window_SystemMenu | #PB_Window_ScreenCentered)
CreateGadgetList(WindowID(0))
ImageGadget(0,0,0,0,0,ImageID(1))
Delay(500)
FreeImage(1)
CreateImage(1,640,480,8)
hdc = StartDrawing(ImageOutput(1))
SetDIBColorTable_(hdc,0,255,ColorTable(0))
DrawImage(ImageID(0),0,0)
StopDrawing()
SetGadgetState(0,ImageID(1))
While WaitWindowEvent() ! #PB_Event_CloseWindow : Wend
DataSection
Palette:
Data.b 44,17,10,205,132,62,25,64,116,57,67,71,26,130,172,227,197,174,131,8,21
Data.b 128,67,34,16,32,65,39,94,120,138,137,163,171,100,58,16,113,173,79,163,204
Data.b 108,98,119,165,198,218,17,131,196,50,39,35,225,230,226,193,172,145,37,50,66
Data.b 39,116,146,144,33,60,140,130,100,131,103,89,127,76,71,58,96,105,79,134,170
Data.b 68,52,63,196,134,104,77,21,25,34,66,90,156,164,168,22,100,152,241,244,235
Data.b 156,87,34,116,40,10,87,148,185,205,154,115,22,53,93,196,207,221,138,175,206
Data.b 178,111,85,73,73,87,135,51,65,183,104,59,79,40,24,14,125,196,15,82,128
Data.b 77,143,198,77,116,136,24,21,37,69,98,122,210,232,247,138,87,72,57,124,175
Data.b 36,59,67,141,42,50,79,21,38,118,118,121,76,138,182,77,47,46,132,71,52,158,118,89
Data.b 186,49,66,83,26,63,208,175,166,190,115,60,190,155,138,62,108,151,69,86,119,183,36,52
Data.b 13,124,185,95,85,89,238,237,240,192,213,238,76,108,121,176,212,233,196,136,134,58,120,160
Data.b 192,133,87,141,84,57,123,90,93,97,57,48,65,52,90,13,130,188,51,148,202,16,87,141
Data.b 149,186,213,150,76,49,27,51,80,215,142,104,225,245,250,111,148,171,209,148,90,70,31,43
Data.b 164,89,55,185,28,49,122,60,45,105,123,153,40,80,106,184,178,172,190,123,86,190,51,84
Data.b 114,170,218,128,104,103,109,138,169,26,108,159,23,30,43,161,92,69,103,67,56,73,59,65
Data.b 158,122,120,225,154,112,27,61,97,160,154,146,83,121,155,169,202,230,42,136,197,32,123,180
Data.b 209,135,87,190,58,69,52,143,186,40,29,27,16,42,85,167,102,70,44,84,121,191,39,60
Data.b 94,70,70,189,196,201,140,152,165,243,198,141,222,203,196,125,134,141,132,21,35,137,157,185
Data.b 233,172,127,108,112,104,119,51,89,137,167,190,85,154,200,242,213,164,92,29,10,238,215,201
Data.b 116,78,92,208,188,170,102,96,91,150,189,230,193,158,156,149,181,196,60,68,116,59,52,51
Data.b 72,39,63,128,57,27,105,109,143,204,217,224,118,165,196,167,133,104,150,136,140,234,176,143
Data.b 192,118,73,217,155,132,42,107,135,109,156,197,238,188,162,129,11,37,70,73,103,128,118,106
Data.b 176,187,210,178,216,246,123,181,213,176,68,96,22,41,67,132,41,66,140,60,61,67,60,94
Data.b 184,62,92,171,111,73,34,21,25,31,117,163,114,121,136,72,90,136,134,25,47,48,41,47,198,144,110
Data.b 27,67,106,205,163,120,81,88,104,229,163,118,69,29,27,65,40,78,123,175,202,52,79,71
Data.b 116,108,121,199,220,240,194,144,137,104,81,74,32,59,83,175,184,193,155,75,69,97,17,28
Data.b 180,171,169,38,124,196,99,19,43,207,40,63,93,98,103,28,97,138,62,99,135,186,124,103
Data.b 23,72,118,236,183,128,182,107,70,216,142,118,111,151,184,172,47,52,67,108,137,44,132,185
Data.b 144,70,33,240,235,227,161,177,207,100,42,24,95,49,42,207,120,56,144,57,47,140,120,156
Data.b 178,125,121,156,50,84,164,171,188,55,131,171,48,31,62,172,114,60,100,52,65,37,53,93
Data.b 158,50,62,206,48,67,193,164,142,98,48,88,97,27,43,47,32,36,168,146,136,219,164,137,158,104,86
Data.b 97,75,85,107,141,181,242,246,247,156,107,101,164,134,121,103,74,105,157,118,104,119,47,22
Data.b 252,186,148,132,132,123,98,61,62,36,61,98,39,41,62,158,41,61
EndDataSection