Here's the procedure and an example to download.
DOWNLOAD EXAMPLECode:
Structure ZoomSpriteCalculations
SavedSpriteWidth.f
SavedSpriteHeight.f
SaveData.l
EndStructure
Procedure ZoomSprite(Sprite, SpriteWidth.f, SpriteHeight.f)
Static Dim SpriteZoom.ZoomSpriteCalculations(99)
If SpriteZoom(Sprite)\SaveData = 0
SpriteZoom(Sprite)\SavedSpriteWidth = SpriteWidth
SpriteZoom(Sprite)\SavedSpriteHeight = SpriteHeight
CreateSprite(Sprite, SpriteWidth, SpriteHeight)
StartDrawing(SpriteOutput(Sprite))
DrawImage(ImageID(Sprite), 0, 0, SpriteWidth, SpriteHeight)
StopDrawing()
SpriteZoom(Sprite)\SaveData = 1
EndIf
If SpriteZoom(Sprite)\SavedSpriteWidth <> SpriteWidth Or SpriteZoom(Sprite)\SavedSpriteHeight <> SpriteHeight
SpriteZoom(Sprite)\SaveData = 0
EndIf
EndProcedure