Link: http://www.deeem2031.de/PB/SpriteDX9.zip
Bisher sind diese Befehle enthalten:
InitSpriteDX9()
OpenScreenDX9(w,h,d,t.s)
ScreenDX9Output()
ClearScreenDX9(RGBAColor)
FlipBuffersDX9()
CloseScreenDX9()
LoadTextureDX9(filename.s)
DisplayTextureDX9(texture,x.f,y.f[,*DisplaySettings.DisplayTexture_Struc])
FreeTextureDX9(hTexture)
StartDX9([flags])
StopDX9()
SetAlphaBlendingDX9(enable,src,dest)
CheckResolutionDX9(depth, flags)
DrawingBufferStartDX9([hSprite,]*D3D9_DrawingBuffer)
DrawingBufferPlotDX9(*D3D9_DrawingBuffer,x,y, RGBA[,flags])
DrawingBufferStopDX9([hSprite])
ConvertColorDX9(*D3D9_DrawingBuffer,RGBA)
seit 0.52
BoxDX9(x,y,Breite,Höhe,RGB)
CreateTextureDX9(Breite,Höhe)
seit 0.53
RGBA(R,G,B,A)
DrawingBufferStartTextureDX9(*D3D9_DrawingBuffer,hTexture)
DrawingBufferStopTextureDX9(hTexture)
seit 0.54
LoadSprite/CreateSprite/DisplaySprite/FreeSprite-DX9()
seit 0.55
CatchSpriteDX9(Buffer,Size)
CatchTextureDX9(Buffer,Size)
seit 0.56
SaveSpriteDX9(hSprite, filename, format)
SaveTextureDX9(hTexture, filename, format)
seit 0.57
ColorFilterDX9()
LineDX9()
SetLineWidthDX9()
GetLineWidthDX9()
LoadFontDX9()
DrawTextDX9()
FreeFontDX9()
seit 0.579
TriangleDX9()
TextureWidthDX9()
TextureHeightDX9()
seit 0.58
SetTextureRotationCenterDX9()
ZoomTextureDX9()
RotateTextureDX9()
Die Programme, die die Lib benutzen brauchen mind. eine der "D3DX9_*.dll"s, welche es frei im Inet gibt - z.B. dort: http://www.dll-files.com/dllindex/dll-f ... l?d3dx9_27
Bsp: (Damits läuft müsst ihr natürlich eine BildDatei bei LoadTextureDX9() angeben die bei euch existiert)
Code: Alles auswählen
InitSpriteDX9()
InitKeyboard()
Debug CheckResolutionDX9(32,#PB_D3D_Windowed)
If OpenScreenDX9(800,600,32,OpenWindow(0,0,0,800,600,#PB_Window_ScreenCentered|#PB_Window_SystemMenu,":)"),#PB_D3D_Windowed|#PB_D3D_AlphaBlending)
;SetWindowPos_(WindowID(),#HWND_TOPMOST,0,0,0,0,#SWP_NOSIZE|#SWP_NOMOVE)
hTexture = LoadTextureDX9("c:\link2.png") ;You should free the texture before you exit the program the library don't do it by itself (supports the following file formats: .bmp, .dds, .dib, .hdr, .jpg, .pfm, .png, .ppm, .tga)
If hTexture = 0
CloseScreenDX9()
Debug "Couldn't load the texture!"
End
EndIf
hTexture2 = CreateTextureDX9(256,256) ;You should free the texture before you exit the program the library don't do it by itself
If hTexture2 = 0
CloseScreenDX9()
Debug "Couldn't create the texture!"
End
EndIf
hSprite= LoadSpriteDX9("c:\link2.png")
If hSprite = 0
CloseScreenDX9()
Debug "Couldn't load the sprite!"
End
EndIf
If DrawingBufferStartDX9(hSprite, DrawingBuffer.D3D9_DrawingBuffer)
For y = 0 To 56-1
For x = 0 To 56-1
DrawingBufferPlotDX9(DrawingBuffer,x,y,RGB(x*4,0,y*4))
Next
Next
DrawingBufferStopDX9(hSprite)
EndIf
hTexture_DisplaySettings.DisplayTexture_Struc
hTexture_Center.POINT
hTexture_SrcRect.RECT
;ClipTexture...
hTexture_SrcRect\top = 0
hTexture_SrcRect\left = 0
hTexture_SrcRect\bottom = 100
hTexture_SrcRect\right = 100
hTexture_DisplaySettings\pSrcRect = hTexture_SrcRect
;SetCenter...
hTexture_Center\x = 50
hTexture_Center\y = 50
hTexture_DisplaySettings\pCenter = hTexture_Center
;I don't like red:
hTexture_DisplaySettings\ColorFilter = $FF00FFFF ;Don't display the red channel (AARRGGBB)
If DrawingBufferStartTextureDX9(hTexture2,@DrawingBuffer.D3D9_DrawingBuffer)
Debug DrawingBuffer\PixelBuffer
Debug DrawingBuffer\Pitch
Debug DrawingBuffer\BytesperPixel
For y = 0 To 256-1
For x = y To 256-1
DrawingBufferPlotDX9(DrawingBuffer,x,y,RGBA($FF,x,y,Random(255)))
Next
For x = 0 To y-1
DrawingBufferPlotDX9(DrawingBuffer,x,y,$FFFFFFFF!RGBA($FF,x,y,$80)) ;Invert color
Next
Next
DrawingBufferStopTextureDX9(hTexture2)
EndIf
alpha.f = 0.0
Repeat
alpha + 0.01
ClearScreenDX9(RGBA(0,0,0,0))
BoxDX9(5,5,600,400,RGBA(150,150,150,255))
If DrawingBufferStartDX9(DrawingBuffer.D3D9_DrawingBuffer)
Color = ConvertColorDX9(DrawingBuffer,RGBA(255,0,0,$FF))
For y = 10 To 1*256-1
For x = 10 To 2*256-1
DrawingBufferPlotDX9(DrawingBuffer,x,y,Color,#PB_Plot_NoConvert)
Next
Next
DrawingBufferStopDX9()
EndIf
SetAlphaBlendingDX9(#True,#D3DBLEND_SRCALPHA,#D3DBLEND_ONE) ;Default
StartDX9() ;>
DisplayTextureDX9(hTexture,100.0,600-Abs(500.0*Sin(alpha)),hTexture_DisplaySettings)
DisplayTextureDX9(hTexture2,200.0,600-Abs(500.0*Sin(alpha)))
StopDX9() ;<
DisplaySpriteDX9(hSprite,Abs(500.0*Sin(alpha)),100)
FlipBuffersDX9()
DisableDebugger
WE = WindowEvent()
While WE
If WE = #PB_Event_CloseWindow
quit = 1
EndIf
WE = WindowEvent()
Wend
ExamineKeyboard()
Until KeyboardPushed(#PB_Key_Escape) Or quit
EnableDebugger
FreeSpriteDX9(hSprite)
FreeTextureDX9(hTexture)
FreeTextureDX9(hTexture2)
CloseScreenDX9()
Else
Debug "OpenScreenDX9-Error"
EndIf