Verfasst: 05.09.2005 09:19
was kann man den nun gegen diese Blauverschiebung machen? vom Blau wert was wegnehmen?!?
Code: Alles auswählen
InitSprite()
sprite$=OpenFileRequester("Bild auswählen","c:\","BMP|*.bmp;",-1)
OpenScreen(640,480,32,"Test")
LoadSprite(1,sprite$)
DisplaySprite(1,0,0)
FlipBuffers()
StartDrawing(SpriteOutput(1))
*buffer=DrawingBuffer()
Height=SpriteHeight(1)
Width=SpriteWidth(1)
pitch= DrawingBufferPitch()
;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
pixelformat= DrawingBufferPixelFormat()
;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
Dim image.l(Width,Height)
For y=1 To Height
For X=1 To Width
;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
Select pixelformat
Case #PB_PixelFormat_32Bits_BGR
bgr=PeekL(*buffer+4*z+z2)
rgb=(((bgr & $FF) << 16)|(((bgr >>8 ) & $FF)<<8)|((bgr >>16) & $FF))
image(X,y)=rgb
Case #PB_PixelFormat_32Bits_RGB
image(X,y)=PeekL(*buffer+4*z+z2)
EndSelect
;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
z+1
Next
z = 0
z2 + pitch
Next
StopDrawing()
CreateImage(1,Width,Height)
StartDrawing(ImageOutput())
For y=0 To Height
For X=0 To Width
Plot(X,y,image(X,y))
Next
Next
StopDrawing()
ClearScreen(0,0,255)
StartDrawing(ScreenOutput())
DrawImage(UseImage(1),0,0)
StopDrawing()
FlipBuffers()
Delay(3000)
CloseScreen()
SaveImage(1,"Testbild-buffer.bmp")
RunProgram("Testbild-buffer.bmp")
End
Code: Alles auswählen
For y=0 To Height-1
For X=0 To Width-1