Re: Schräglauf von BMP gerade setzen...
Verfasst: 26.04.2012 00:28
Das brauche ich noch.
Zue Zeit kommen nur total verrauschte Bilder.
Danke.
Gruss
Zue Zeit kommen nur total verrauschte Bilder.
Danke.
Gruss
Das deutsche PureBasic-Forum
https://www.purebasic.fr/german/
Probiere es mal damit:funkheld hat geschrieben:Wie kann man ein Schräglauf stufenweise ausrichten?
Kann mir bitte einer mal ein Beispiel geben?
Code: Alles auswählen
EnableExplicit
XIncludeFile "gDrawing.pbi"
Global image, quit, canvas, trackX, trackY
Global shearX.f, shearY.f
Procedure DrawShearedImageAt(_img,_atX.f,_atY.f,_x.f,_y.f,_ShearX.f,_ShearY.f)
gStartTransform()
gShearAt(_x,_y,_ShearX,_ShearY)
gDrawImage(_img,_atX,_atY,ImageWidth(_img),ImageHeight(_img))
gStopTransform()
EndProcedure
Procedure Draw()
Protected midX.f = GadgetWidth(canvas)*0.5
Protected midY.f = GadgetHeight(canvas)*0.5
If gStartDrawing(CanvasOutput(canvas))
gClear(RGB(0,0,0))
DrawShearedImageAt(image,midX-ImageWidth(image)*0.5,midY-ImageHeight(image)*0.5,midX,midY,shearX,shearY)
gStopDrawing()
EndIf
EndProcedure
image = LoadImage(#PB_Any,#PB_Compiler_Home+"Examples\Sources\Data\PureBasicLogo.bmp")
If Not image : MessageRequester("ERROR","Unable to load PureBasic logo!") : End : EndIf
If gInit()
OpenWindow(#PB_Any,0,0,800,600,"gDrawing gShear",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
canvas = CanvasGadget(#PB_Any,0,20,780,580)
trackX = TrackBarGadget(#PB_Any,0,0,800,20,0,1000)
trackY = TrackBarGadget(#PB_Any,780,20,20,560,0,1000,#PB_TrackBar_Vertical)
SetGadgetState(trackX,500)
SetGadgetState(trackY,500)
Draw()
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
quit = #True
Case #PB_Event_Gadget
Select EventGadget()
Case trackX : shearX = (500-GetGadgetState(trackX))*0.002 : Draw()
Case trackY : shearY = (500-GetGadgetState(trackY))*0.002 : Draw()
EndSelect
EndSelect
Until quit = #True
gEnd()
EndIf...mußt Du doch nur jede Zeile des Bildes um Wert.f versetzt zeichnen. Wenn Wert.f negativ ist,funkheld hat geschrieben:So sieht es aus, die "1" sind die Bildpixel versetzt (Schräglauf) durch Fehlerhafte synchonisation (Funkwettereinfluss):
.............1111111111111111111
.................1111111111111111111
.....................1111111111111111111
...........................1111111111111111111
.................................1111111111111111111
die möchte ich alle wieder untereinander setzen :
.............1111111111111111111
.............1111111111111111111
.............1111111111111111111
.............1111111111111111111
.............1111111111111111111