| texture - texture handle |
|
Returns the width of a texture, in pixels. Handy whenever you draw into a texture and want to fill it exactly: SetBuffer TextureBuffer(tex), then Rect 0,0,TextureWidth(tex),TextureHeight(tex),1 clears the whole thing whatever size it turned out to be. It also lets you centre text or scale a blit to fit without hard-coding numbers. For a multi-frame texture made by LoadAnimTexture this is the width of one frame, not of the source image. See also: TextureHeight, TextureBuffer, CreateTexture, LoadTexture. |
; TextureWidth Example
; --------------------
Graphics3D 640,480,0,2
SetBuffer BackBuffer()
camera=CreateCamera()
light=CreateLight()
RotateEntity light,45,45,0
; Load a 400x197 image. The engine may resize a texture to dimensions
; the graphics card prefers (usually powers of 2).
tex=LoadTexture("media/b3dlogo.jpg")
crate=CreateCube()
PositionEntity crate,0,0,5
EntityTexture crate,tex
While Not KeyDown(1)
TurnEntity crate,0,1,0
; Arrow keys move the camera
If KeyDown(200) Then MoveEntity camera,0,0,0.1
If KeyDown(208) Then MoveEntity camera,0,0,-0.1
If KeyDown(203) Then TurnEntity camera,0,1,0
If KeyDown(205) Then TurnEntity camera,0,-1,0
RenderWorld
Text 0,0,"Arrows: camera Esc: exit"
Text 0,20,"b3dlogo.jpg is 400 pixels wide"
; TextureWidth reports the width actually used in memory
Text 0,40,"TextureWidth(tex) = "+TextureWidth(tex)
Flip
Wend
End