Wie kann ich ein Bild von Loadimage bitte darstellen ?
Diese Bild wurde geladen :
CreateImage(#image_0, 500,500)
LoadImage(#image_0 ,"d:\purebasic\test-pure\data\flaeche1.bmp")
Es soll hier drin dargestellt werden:
StartDrawing(ScreenOutput())
......
Wie geht das bitte?
Danke.
Gruss
Code: Alles auswählen
Global angle.f,x.f,y.f,x1.f,y1.f,xs.f,ys.f
Global delta.l,winkel.l,zahl.l,bild.l
Enumeration
#Window_0
#sprite_0
#strgadget_0
#image_0
EndEnumeration
Procedure DisplayTransformSprite(Sprite, X.f, Y.f, Width.f, Height.f, Angle.f, CenterX.f=0, CenterY.f=0)
Protected Sin.f = Sin(Radian(Angle)), Cos.f = Cos(Radian(Angle))
TransformSprite(Sprite, Cos*(-Width*0.5-CenterX) - Sin*(-Height*0.5-CenterY), Sin*(-Width*0.5-CenterX) + Cos*(-Height*0.5-CenterY), Cos*( Width*0.5-CenterX) - Sin*(-Height*0.5-CenterY), Sin*( Width*0.5-CenterX) + Cos*(-Height*0.5-CenterY), Cos*( Width*0.5-CenterX) - Sin*( Height*0.5-CenterY), Sin*( Width*0.5-CenterX) + Cos*( Height*0.5-CenterY), Cos*(-Width*0.5-CenterX) - Sin*( Height*0.5-CenterY), Sin*(-Width*0.5-CenterX) + Cos*( Height*0.5-CenterY))
DisplaySprite(Sprite, X, Y)
EndProcedure
InitSprite()
OpenWindow(#Window_0, 0, 0, 800, 600, "Sprite", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
OpenWindowedScreen(WindowID(#Window_0), 10, 10,500,500, 0, 0, 0)
CreateImage(#image_0, 500,500)
LoadImage(#image_0 ,"d:\purebasic\test-pure\data\flaeche1.bmp")
StringGadget(#strgadget_0, 600, 10, 100, 20, "")
CreateSprite(#sprite_0, 100,100)
StartDrawing(SpriteOutput(#sprite_0))
FillArea(0, 0, #PB_Any, $FF0000)
StopDrawing()
xs=100
ys=100
delta=1
zahl=0
SetGadgetText(#strgadget_0,Str(zahl))
Repeat
Event = WaitWindowEvent(1)
Select Event
Case #PB_Event_Gadget
EventGadget = EventGadget()
EventType = EventType
Case #PB_Event_CloseWindow
EventWindow = EventWindow()
If EventWindow = #Window_0
CloseWindow(#Window_0)
Break
EndIf
EndSelect
ClearScreen(RGB(255,255,0))
StartDrawing(ScreenOutput())
...............hier soll das Bild bitte rein.
For winkel= (angle-30) To (angle+30) Step 4
x=Sin(-winkel*#PI/180)*75
y=Cos(-winkel*#PI/180)*75
If Point(xs+x,ys+y)= RGB(255,0,0)
SetGadgetText(#strgadget_0,Str(zahl))
zahl=zahl+1
EndIf
Plot(xs+x,ys+y,RGB(0,0,0))
x=Sin(-winkel*#PI/180)*40
y=Cos(-winkel*#PI/180)*40
If Point(xs+x,ys+y)= RGB(255,0,0)
SetGadgetText(#strgadget_0,Str(zahl))
zahl=zahl+1
EndIf
Plot(xs+x,ys+y,RGB(0,0,0))
Next
StopDrawing()
If GetAsyncKeyState_(#VK_RIGHT)
angle=angle+1
ElseIf GetAsyncKeyState_(#VK_LEFT)
angle=angle-1
EndIf
If GetAsyncKeyState_(#VK_UP)
y1=Sin((angle+90)/180*#PI)*delta
x1=Cos((angle+90)/180*#PI)*delta
xs+x1
ys+y1
ElseIf GetAsyncKeyState_(#VK_DOWN)
y1=Sin((angle+90)/180*#PI)*delta
x1=Cos((angle+90)/180*#PI)*delta
xs-x1
ys-y1
EndIf
DisplayTransformSprite(#sprite_0, xs,ys,30,40, angle,0,0)
FlipBuffers()
ForEver