CopySpriteToImage()
Publié : mar. 20/sept./2005 15:52
J’ai légèrement adapté un code issu du forum anglais Copy a 2D Sprite to an Image?
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
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)