Seite 2 von 2

Verfasst: 05.09.2005 09:19
von benpicco
was kann man den nun gegen diese Blauverschiebung machen? vom Blau wert was wegnehmen?!?

Verfasst: 10.09.2005 17:59
von SoS
Habe mal Dein "Blaustichproblem" beseitigt. 8)

Was ich geändert habe und warum kannst Du im folgenden Code nachlesen.

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

Verfasst: 10.09.2005 18:18
von benpicco
Danke!!! :allright: :allright: :allright:

Verfasst: 23.04.2006 14:39
von mar
bei mir fehlte etwas im Bild.

Korrektur:

Code: Alles auswählen

For y=0 To Height-1
  For X=0 To Width-1
bis dann
mar