DxGetTexturePixels: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
(3 intermediate revisions by 3 users not shown)
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.
{{Note|dxGetTexturePixels will not work on a screen source or render target if the player has disabled screen upload.}}
{{Important Note|dxGetTexturePixels will not work on a screen source or render target if the player has disabled screen upload.}}
----
{{Note|
''Performance note:
*This function is slow and not something you want to be doing once a frame.
*''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.
*''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' '''.
*''And is very slow indeed if the texture format is not ''' 'argb' ''' ''
}}
----


==Syntax==  
==Syntax==  
Line 15: Line 13:
string dxGetTexturePixels ( [ int surfaceIndex = 0, ] element texture [, int x = 0, int y = 0, int width = 0, int height = 0 ] )
string dxGetTexturePixels ( [ int surfaceIndex = 0, ] element texture [, int x = 0, int y = 0, int width = 0, int height = 0 ] )
</syntaxhighlight>  
</syntaxhighlight>  
 
{{OOP||[[texture]]:getPixels}}
===Required Arguments===
===Required Arguments===
*'''texture :''' The texture element to get the pixels from
*'''texture :''' The texture element to get the pixels from
Line 32: Line 30:
==Example==  
==Example==  
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
TODO
local mtaLogo = dxCreateTexture("mta-logo.png")
outputChatBox("MTA logo pixels is: "..dxGetTexturePixels(mtaLogo))
</syntaxhighlight>
</syntaxhighlight>


Line 44: Line 43:
==See Also==
==See Also==
{{Drawing_functions}}
{{Drawing_functions}}
[[hu:dxGetTexturePixels]]

Revision as of 10:15, 30 November 2018

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

[[{{{image}}}|link=|]] Important Note: dxGetTexturePixels will not work on a screen source or render target if the player has disabled screen upload.
[[{{{image}}}|link=|]] 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