DxGetTexturePixels

From Multi Theft Auto: Wiki
Jump to: navigation, search

This function fetches the pixels from a texture element. It can be used with a standard texture, render target or screen source.

[[{{{image}}}|link=]] Note: dxGetTexturePixels will not work on a screen source or render target if the player has disabled screen upload.

Performance note:

  • This function is slow and not something you want to be doing once a frame.
  • It is slower when reading pixels from a render target or screen source.
  • And is very slow indeed if the texture format is not 'argb'

Syntax

string dxGetTexturePixels ( [ int surfaceIndex = 0, ] element texture [, int x = 0, int y = 0, int width = 0, int height = 0 ] )

OOP Syntax Help! I don't understand this!

Method: texture:getPixels(...)

Required Arguments

  • texture : The texture element to get the pixels from

Optional Arguments

  • surfaceIndex: Desired slice to get if the texture is a volume texture, or desired face to get if the texture is a cube map. (Cube map faces: 0=+X 1=-X 2=+Y 3=-Y 4=+Z 5=-Z)

By default the pixels from the whole texture is returned. To get only a portion of the texture, define a rectangular area using all four of these optional arguments:

  • x: Rectangle left position
  • y: Rectangle top position
  • width: Rectangle width
  • height : Rectangle height

Returns

Returns a 'plain' format pixels string if successful, false if invalid arguments were passed to the function.

Example

local mtaLogo = dxCreateTexture("mta-logo.png")
outputChatBox("MTA logo pixels is: "..dxGetTexturePixels(mtaLogo))

Requirements

Minimum supported server n/a
Minimum supported client 1.3
Note: Using this function requires the resource to have the above minimum version declared in the meta.xml <min_mta_version> section. e.g. <min_mta_version client="1.3" />

Changelog

Version Description
1.3.0-9.04021 Added surfaceIndex argument

See Also