Files
mql5-skills/skills/mql5/references/docs/31-directx/1075-directx-dxtexturecreate.md
T
2026-06-23 21:47:51 +08:00

190 lines
9.1 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# DXTextureCreate
Creates a 2D texture out of a rectangle of a specified size cut from a passed image.
```
int  DXTextureCreate(
   int             context,         // graphic context handle
   ENUM_DX_FORMAT  format,          // pixel color format 
   uint            width,           // source image width
   uint            height,          // source image height
   const void&     data[],          // array of source image pixels
   uint            data_x,          // X coordinate of a rectangle used to create a texture
   uint            data_y,          // Y coordinate of a rectangle used to create a texture
   uint            data_width,      // rectangle width for creating a texture
   uint            data_height      // rectangle height for creating a texture
   );
```
Parameters
context
[in]  Handle for a graphic context created in [DXContextCreate()](/en/docs/directx/dxcontextcreate).
format
[in]  Pixel color format set from the [ENUM_DX_FORMAT](/en/docs/directx/dxtexturecreate#enum_dx_format) enumeration.
width
[in]  Width of an image a texture is based on.
height
[in]  Height of an image a texture is based on.
data
[in]  Pixel array of an image a texture is based on.
data_x
[in]  X coordinate of a rectangle (X offset) used to create a texture.
data_y
[in]  Y coordinate of a rectangle (Y offset) used to create a texture.
data_width
[in]  Width of a rectangle used to create a texture.
data_height
[in]  Height of a rectangle used to create a texture.
Return Value
Texture handle or INVALID_HANDLE in case of an error. To receive an [error](/en/docs/constants/errorswarnings/errorcodes) code, the [GetLastError()](/en/docs/check/getlasterror) function should be called.
Note
A created handle that is no longer in use should be explicitly released by the [DXRelease()](/en/docs/directx/dxrelease) function.
ENUM_DX_FORMAT
| ID | Value | Match in DXGI_FORMAT |
| --- | --- | --- |
| DX_FORMAT_UNKNOWN | 0 | DXGI_FORMAT_UNKNOWN |
| DX_FORMAT_R32G32B32A32_TYPELESS | 1 | DXGI_FORMAT_R32G32B32A32_TYPELESS |
| DX_FORMAT_R32G32B32A32_FLOAT | 2 | DXGI_FORMAT_R32G32B32A32_FLOAT |
| DX_FORMAT_R32G32B32A32_UINT | 3 | DXGI_FORMAT_R32G32B32A32_UINT |
| DX_FORMAT_R32G32B32A32_SINT | 4 | DXGI_FORMAT_R32G32B32A32_SINT |
| DX_FORMAT_R32G32B32_TYPELESS | 5 | DXGI_FORMAT_R32G32B32_TYPELESS |
| DX_FORMAT_R32G32B32_FLOAT | 6 | DXGI_FORMAT_R32G32B32_FLOAT |
| DX_FORMAT_R32G32B32_UINT | 7 | DXGI_FORMAT_R32G32B32_UINT |
| DX_FORMAT_R32G32B32_SINT | 8 | DXGI_FORMAT_R32G32B32_SINT |
| DX_FORMAT_R16G16B16A16_TYPELESS | 9 | DXGI_FORMAT_R16G16B16A16_TYPELESS |
| DX_FORMAT_R16G16B16A16_FLOAT | 10 | DXGI_FORMAT_R16G16B16A16_FLOAT |
| DX_FORMAT_R16G16B16A16_UNORM | 11 | DXGI_FORMAT_R16G16B16A16_UNORM |
| DX_FORMAT_R16G16B16A16_UINT | 12 | DXGI_FORMAT_R16G16B16A16_UINT |
| DX_FORMAT_R16G16B16A16_SNORM | 13 | DXGI_FORMAT_R16G16B16A16_SNORM |
| DX_FORMAT_R16G16B16A16_SINT | 14 | DXGI_FORMAT_R16G16B16A16_SINT |
| DX_FORMAT_R32G32_TYPELESS | 15 | DXGI_FORMAT_R32G32_TYPELESS |
| DX_FORMAT_R32G32_FLOAT | 16 | DXGI_FORMAT_R32G32_FLOAT |
| DX_FORMAT_R32G32_UINT | 17 | DXGI_FORMAT_R32G32_UINT |
| DX_FORMAT_R32G32_SINT | 18 | DXGI_FORMAT_R32G32_SINT |
| DX_FORMAT_R32G8X24_TYPELESS | 19 | DXGI_FORMAT_R32G8X24_TYPELESS |
| DX_FORMAT_D32_FLOAT_S8X24_UINT | 20 | DXGI_FORMAT_D32_FLOAT_S8X24_UINT |
| DX_FORMAT_R32_FLOAT_X8X24_TYPELESS | 21 | DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS |
| DX_FORMAT_X32_TYPELESS_G8X24_UINT | 22 | DXGI_FORMAT_X32_TYPELESS_G8X24_UINT |
| DX_FORMAT_R10G10B10A2_TYPELESS | 23 | DXGI_FORMAT_R10G10B10A2_TYPELESS |
| DX_FORMAT_R10G10B10A2_UNORM | 24 | DXGI_FORMAT_R10G10B10A2_UNORM |
| DX_FORMAT_R10G10B10A2_UINT | 25 | DXGI_FORMAT_R10G10B10A2_UINT |
| DX_FORMAT_R11G11B10_FLOAT | 26 | DXGI_FORMAT_R11G11B10_FLOAT |
| DX_FORMAT_R8G8B8A8_TYPELESS | 27 | DXGI_FORMAT_R8G8B8A8_TYPELESS |
| DX_FORMAT_R8G8B8A8_UNORM | 28 | DXGI_FORMAT_R8G8B8A8_UNORM |
| DX_FORMAT_R8G8B8A8_UNORM_SRGB | 29 | DXGI_FORMAT_R8G8B8A8_UNORM_SRGB |
| DX_FORMAT_R8G8B8A8_UINT | 30 | DXGI_FORMAT_R8G8B8A8_UINT |
| DX_FORMAT_R8G8B8A8_SNORM | 31 | DXGI_FORMAT_R8G8B8A8_SNORM |
| DX_FORMAT_R8G8B8A8_SINT | 32 | DXGI_FORMAT_R8G8B8A8_SINT |
| DX_FORMAT_R16G16_TYPELESS | 33 | DXGI_FORMAT_R16G16_TYPELESS |
| DX_FORMAT_R16G16_FLOAT | 34 | DXGI_FORMAT_R16G16_FLOAT |
| DX_FORMAT_R16G16_UNORM | 35 | DXGI_FORMAT_R16G16_UNORM |
| DX_FORMAT_R16G16_UINT | 36 | DXGI_FORMAT_R16G16_UINT |
| DX_FORMAT_R16G16_SNORM | 37 | DXGI_FORMAT_R16G16_SNORM |
| DX_FORMAT_R16G16_SINT | 38 | DXGI_FORMAT_R16G16_SINT |
| DX_FORMAT_R32_TYPELESS | 39 | DXGI_FORMAT_R32_TYPELESS |
| DX_FORMAT_D32_FLOAT | 40 | DXGI_FORMAT_D32_FLOAT |
| DX_FORMAT_R32_FLOAT | 41 | DXGI_FORMAT_R32_FLOAT |
| DX_FORMAT_R32_UINT | 42 | DXGI_FORMAT_R32_UINT |
| DX_FORMAT_R32_SINT | 43 | DXGI_FORMAT_R32_SINT |
| DX_FORMAT_R24G8_TYPELESS | 44 | DXGI_FORMAT_R24G8_TYPELESS |
| DX_FORMAT_D24_UNORM_S8_UINT | 45 | DXGI_FORMAT_D24_UNORM_S8_UINT |
| DX_FORMAT_R24_UNORM_X8_TYPELESS | 46 | DXGI_FORMAT_R24_UNORM_X8_TYPELESS |
| DX_FORMAT_X24_TYPELESS_G8_UINT | 47 | DXGI_FORMAT_X24_TYPELESS_G8_UINT |
| DX_FORMAT_R8G8_TYPELESS | 48 | DXGI_FORMAT_R8G8_TYPELESS |
| DX_FORMAT_R8G8_UNORM | 49 | DXGI_FORMAT_R8G8_UNORM |
| DX_FORMAT_R8G8_UINT | 50 | DXGI_FORMAT_R8G8_UINT |
| DX_FORMAT_R8G8_SNORM | 51 | DXGI_FORMAT_R8G8_SNORM |
| DX_FORMAT_R8G8_SINT | 52 | DXGI_FORMAT_R8G8_SINT |
| DX_FORMAT_R16_TYPELESS | 53 | DXGI_FORMAT_R16_TYPELESS |
| DX_FORMAT_R16_FLOAT | 54 | DXGI_FORMAT_R16_FLOAT |
| DX_FORMAT_D16_UNORM | 55 | DXGI_FORMAT_D16_UNORM |
| DX_FORMAT_R16_UNORM | 56 | DXGI_FORMAT_R16_UNORM |
| DX_FORMAT_R16_UINT | 57 | DXGI_FORMAT_R16_UINT |
| DX_FORMAT_R16_SNORM | 58 | DXGI_FORMAT_R16_SNORM |
| DX_FORMAT_R16_SINT | 59 | DXGI_FORMAT_R16_SINT |
| DX_FORMAT_R8_TYPELESS | 60 | DXGI_FORMAT_R8_TYPELESS |
| DX_FORMAT_R8_UNORM | 61 | DXGI_FORMAT_R8_UNORM |
| DX_FORMAT_R8_UINT | 62 | DXGI_FORMAT_R8_UINT |
| DX_FORMAT_R8_SNORM | 63 | DXGI_FORMAT_R8_SNORM |
| DX_FORMAT_R8_SINT | 64 | DXGI_FORMAT_R8_SINT |
| DX_FORMAT_A8_UNORM | 65 | DXGI_FORMAT_A8_UNORM |
| DX_FORMAT_R1_UNORM | 66 | DXGI_FORMAT_R1_UNORM |
| DX_FORMAT_R9G9B9E5_SHAREDEXP | 67 | DXGI_FORMAT_R9G9B9E5_SHAREDEXP |
| DX_FORMAT_R8G8_B8G8_UNORM | 68 | DXGI_FORMAT_R8G8_B8G8_UNORM |
| DX_FORMAT_G8R8_G8B8_UNORM | 69 | DXGI_FORMAT_G8R8_G8B8_UNORM |
| DX_FORMAT_BC1_TYPELESS | 70 | DXGI_FORMAT_BC1_TYPELESS |
| DX_FORMAT_BC1_UNORM | 71 | DXGI_FORMAT_BC1_UNORM |
| DX_FORMAT_BC1_UNORM_SRGB | 72 | DXGI_FORMAT_BC1_UNORM_SRGB |
| DX_FORMAT_BC2_TYPELESS | 73 | DXGI_FORMAT_BC2_TYPELESS |
| DX_FORMAT_BC2_UNORM | 74 | DXGI_FORMAT_BC2_UNORM |
| DX_FORMAT_BC2_UNORM_SRGB | 75 | DXGI_FORMAT_BC2_UNORM_SRGB |
| DX_FORMAT_BC3_TYPELESS | 76 | DXGI_FORMAT_BC3_TYPELESS |
| DX_FORMAT_BC3_UNORM | 77 | DXGI_FORMAT_BC3_UNORM |
| DX_FORMAT_BC3_UNORM_SRGB | 78 | DXGI_FORMAT_BC3_UNORM_SRGB |
| DX_FORMAT_BC4_TYPELESS | 79 | DXGI_FORMAT_BC4_TYPELESS |
| DX_FORMAT_BC4_UNORM | 80 | DXGI_FORMAT_BC4_UNORM |
| DX_FORMAT_BC4_SNORM | 81 | DXGI_FORMAT_BC4_SNORM |
| DX_FORMAT_BC5_TYPELESS | 82 | DXGI_FORMAT_BC5_TYPELESS |
| DX_FORMAT_BC5_UNORM | 83 | DXGI_FORMAT_BC5_UNORM |
| DX_FORMAT_BC5_SNORM | 84 | DXGI_FORMAT_BC5_SNORM |
| DX_FORMAT_B5G6R5_UNORM | 85 | DXGI_FORMAT_B5G6R5_UNORM |
| DX_FORMAT_B5G5R5A1_UNORM | 86 | DXGI_FORMAT_B5G5R5A1_UNORM |
| DX_FORMAT_B8G8R8A8_UNORM | 87 | DXGI_FORMAT_B8G8R8A8_UNORM |
| DX_FORMAT_B8G8R8X8_UNORM | 88 | DXGI_FORMAT_B8G8R8X8_UNORM |
| DX_FORMAT_R10G10B10_XR_BIAS_A2_UNORM | 89 | DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM |
| DX_FORMAT_B8G8R8A8_TYPELESS | 90 | DXGI_FORMAT_B8G8R8A8_TYPELESS |
| DX_FORMAT_B8G8R8A8_UNORM_SRGB | 91 | DXGI_FORMAT_B8G8R8A8_UNORM_SRGB |
| DX_FORMAT_B8G8R8X8_TYPELESS | 92 | DXGI_FORMAT_B8G8R8X8_TYPELESS |
| DX_FORMAT_B8G8R8X8_UNORM_SRGB | 93 | DXGI_FORMAT_B8G8R8X8_UNORM_SRGB |
| DX_FORMAT_BC6H_TYPELESS | 94 | DXGI_FORMAT_BC6H_TYPELESS |
| DX_FORMAT_BC6H_UF16 | 95 | DXGI_FORMAT_BC6H_UF16 |
| DX_FORMAT_BC6H_SF16 | 96 | DXGI_FORMAT_BC6H_SF16 |
| DX_FORMAT_BC7_TYPELESS | 97 | DXGI_FORMAT_BC7_TYPELESS |
| DX_FORMAT_BC7_UNORM | 98 | DXGI_FORMAT_BC7_UNORM |
| DX_FORMAT_BC7_UNORM_SRGB | 99 | DXGI_FORMAT_BC7_UNORM_SRGB |
| DX_FORMAT_AYUV | 100 | DXGI_FORMAT_AYUV |
| DX_FORMAT_Y410 | 101 | DXGI_FORMAT_Y410 |
| DX_FORMAT_Y416 | 102 | DXGI_FORMAT_Y416 |
| DX_FORMAT_NV12 | 103 | DXGI_FORMAT_NV12 |
| DX_FORMAT_P010 | 104 | DXGI_FORMAT_P010 |
| DX_FORMAT_P016 | 105 | DXGI_FORMAT_P016 |
| DX_FORMAT_420_OPAQUE | 106 | DXGI_FORMAT_420_OPAQUE |
| DX_FORMAT_YUY2 | 107 | DXGI_FORMAT_YUY2 |
| DX_FORMAT_Y210 | 108 | DXGI_FORMAT_Y210 |
| DX_FORMAT_Y216 | 109 | DXGI_FORMAT_Y216 |
| DX_FORMAT_NV11 | 110 | DXGI_FORMAT_NV11 |
| DX_FORMAT_AI44 | 111 | DXGI_FORMAT_AI44 |
| DX_FORMAT_IA44 | 112 | DXGI_FORMAT_IA44 |
| DX_FORMAT_P8 | 113 | DXGI_FORMAT_P8 |
| DX_FORMAT_A8P8 | 114 | DXGI_FORMAT_A8P8 |
| DX_FORMAT_B4G4R4A4_UNORM | 115 | DXGI_FORMAT_B4G4R4A4_UNORM |
| DX_FORMAT_P208 | 130 | DXGI_FORMAT_P208 |
| DX_FORMAT_V208 | 131 | DXGI_FORMAT_V208 |
| DX_FORMAT_V408 | 132 | DXGI_FORMAT_V408 |
| DX_FORMAT_FORCE_UINT | 0xffffffff | DXGI_FORMAT_FORCE_UINT |