pour copier le contenu d’un sprite existant vers une image existante.
C’est perfectible, mais mes connaissances dans les API et ma compréhension des conflits entre sprite et image me limitent.
Si quelqu’un peu faire part de ses connaissances en la matière, ca m’interresse

Code : Tout sélectionner
Procedure CopySpriteToImage(Sprite,ImageID)
hDC=StartDrawing(SpriteOutput(Sprite))
bmp.BITMAP\bmWidth=SpriteWidth(Sprite)
bmp\bmHeight=SpriteHeight(Sprite)
bmp\bmPlanes=1
bmp\bmBitsPixel=GetDeviceCaps_(hDC,#BITSPIXEL)
bmp\bmBits=DrawingBuffer()
bmp\bmWidthBytes=DrawingBufferPitch()
hBmp=CreateBitmapIndirect_(bmp)
StopDrawing()
UseImage(ImageID)
StartDrawing(ImageOutput())
DrawImage(hBmp,0,0)
StopDrawing()
DeleteObject_(hBmp)
EndProcedure
;Example:
InitSprite()
OpenScreen(800,600,16,"TEST")
CreateImage(0, 400, 400)
LoadSprite(1,"C:\Program Files\PureBasic\Examples\Sources\Data\Background.bmp",#PB_Sprite_Memory)
CopySpriteToImage(1, 0)
StartDrawing(ScreenOutput())
DrawImage(UseImage(0),0,0,800,600)
StopDrawing()
FlipBuffers()
Delay(2000)