DxGetTexturePixels: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
(add oop syntax)
(Example)
Line 1: Line 1:
{{Client function}}
{{Client function}}
{{Needs_Example}}
__NOTOC__
__NOTOC__
This function fetches the [[Texture_pixels|pixels]] from a [[texture]] element. It can be used with a standard texture, render target or screen source.
This function fetches the [[Texture_pixels|pixels]] from a [[texture]] element. It can be used with a standard texture, render target or screen source.
Line 32: Line 31:
==Example==  
==Example==  
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
TODO
local mtaLogo = dxCreateTexture("mta-logo.png")
outputChatBox("MTA logo pixels is: "..dxGetTexturePixels(mtaLogo))
</syntaxhighlight>
</syntaxhighlight>



Revision as of 14:17, 9 October 2016

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 server version n/a
Minimum client version 1.3

Note: Using this feature 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