:github_url: hide .. _class_Texture2D: Texture2D ========= **Eredita:** :ref:`Texture` **<** :ref:`Resource` **<** :ref:`RefCounted` **<** :ref:`Object` **Ereditato da:** :ref:`AnimatedTexture`, :ref:`AtlasTexture`, :ref:`CameraTexture`, :ref:`CanvasTexture`, :ref:`CompressedTexture2D`, :ref:`CurveTexture`, :ref:`CurveXYZTexture`, :ref:`DPITexture`, :ref:`ExternalTexture`, :ref:`GradientTexture1D`, :ref:`GradientTexture2D`, :ref:`ImageTexture`, :ref:`MeshTexture`, :ref:`NoiseTexture2D`, :ref:`PlaceholderTexture2D`, :ref:`PortableCompressedTexture2D`, :ref:`Texture2DRD`, :ref:`ViewportTexture` Texture per 2D e 3D. .. rst-class:: classref-introduction-group Descrizione ---------------------- Una texture funziona registrando un'immagine nell'hardware video, che può poi essere utilizzata in modelli 3D, 2D :ref:`Sprite2D` o :ref:`Control` in una GUI. Le texture sono spesso create caricandole da un file. Vedi :ref:`@GDScript.load()`. \ **Texture2D** è una base per altre risorse. Non può essere utilizzata direttamente. \ **Nota:** La dimensione massima di una texture è 16384×16384 pixel a causa delle limitazioni dell'hardware grafico. Potrebbe non essere possibile importare texture più grandi. .. rst-class:: classref-reftable-group Metodi ------------ .. table:: :widths: auto +---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`_draw`\ (\ to_canvas_item\: :ref:`RID`, pos\: :ref:`Vector2`, modulate\: :ref:`Color`, transpose\: :ref:`bool`\ ) |virtual| |const| | +---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`_draw_rect`\ (\ to_canvas_item\: :ref:`RID`, rect\: :ref:`Rect2`, tile\: :ref:`bool`, modulate\: :ref:`Color`, transpose\: :ref:`bool`\ ) |virtual| |const| | +---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`_draw_rect_region`\ (\ to_canvas_item\: :ref:`RID`, rect\: :ref:`Rect2`, src_rect\: :ref:`Rect2`, modulate\: :ref:`Color`, transpose\: :ref:`bool`, clip_uv\: :ref:`bool`\ ) |virtual| |const| | +---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`_get_height`\ (\ ) |virtual| |required| |const| | +---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`_get_width`\ (\ ) |virtual| |required| |const| | +---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`_has_alpha`\ (\ ) |virtual| |const| | +---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`_is_pixel_opaque`\ (\ x\: :ref:`int`, y\: :ref:`int`\ ) |virtual| |const| | +---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Resource` | :ref:`create_placeholder`\ (\ ) |const| | +---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`draw`\ (\ canvas_item\: :ref:`RID`, position\: :ref:`Vector2`, modulate\: :ref:`Color` = Color(1, 1, 1, 1), transpose\: :ref:`bool` = false\ ) |const| | +---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`draw_rect`\ (\ canvas_item\: :ref:`RID`, rect\: :ref:`Rect2`, tile\: :ref:`bool`, modulate\: :ref:`Color` = Color(1, 1, 1, 1), transpose\: :ref:`bool` = false\ ) |const| | +---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`draw_rect_region`\ (\ canvas_item\: :ref:`RID`, rect\: :ref:`Rect2`, src_rect\: :ref:`Rect2`, modulate\: :ref:`Color` = Color(1, 1, 1, 1), transpose\: :ref:`bool` = false, clip_uv\: :ref:`bool` = true\ ) |const| | +---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_height`\ (\ ) |const| | +---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Image` | :ref:`get_image`\ (\ ) |const| | +---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`get_size`\ (\ ) |const| | +---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_width`\ (\ ) |const| | +---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`has_alpha`\ (\ ) |const| | +---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Descrizioni dei metodi -------------------------------------------- .. _class_Texture2D_private_method__draw: .. rst-class:: classref-method |void| **_draw**\ (\ to_canvas_item\: :ref:`RID`, pos\: :ref:`Vector2`, modulate\: :ref:`Color`, transpose\: :ref:`bool`\ ) |virtual| |const| :ref:`🔗` Chiamato quando si richiede che l'intera **Texture2D** sia disegnata su un :ref:`CanvasItem`, con l'offset in alto a sinistra specificato in ``pos``. ``modulate`` specifica un moltiplicatore per i colori disegnati, mentre ``transpose`` specifica se il disegno deve essere eseguito in ordine di colonna anziché in ordine di riga (disegnando la texture ruotata di 90 gradi in senso orario). \ **Nota:** Questo è utilizzato solo nel rendering 2D, non in quello 3D. .. rst-class:: classref-item-separator ---- .. _class_Texture2D_private_method__draw_rect: .. rst-class:: classref-method |void| **_draw_rect**\ (\ to_canvas_item\: :ref:`RID`, rect\: :ref:`Rect2`, tile\: :ref:`bool`, modulate\: :ref:`Color`, transpose\: :ref:`bool`\ ) |virtual| |const| :ref:`🔗` Chiamato quando si richiede che la **Texture2D** sia disegnata nel rettangolo ``rect`` sul :ref:`CanvasItem` specificato. ``modulate`` specifica un moltiplicatore per i colori disegnati, mentre ``transpose`` specifica se il disegno deve essere eseguito in ordine di colonna anziché in ordine di riga (disegnando la texture ruotata di 90 gradi in senso orario). \ **Nota:** Questo è utilizzato solo nel rendering 2D, non in quello 3D. .. rst-class:: classref-item-separator ---- .. _class_Texture2D_private_method__draw_rect_region: .. rst-class:: classref-method |void| **_draw_rect_region**\ (\ to_canvas_item\: :ref:`RID`, rect\: :ref:`Rect2`, src_rect\: :ref:`Rect2`, modulate\: :ref:`Color`, transpose\: :ref:`bool`, clip_uv\: :ref:`bool`\ ) |virtual| |const| :ref:`🔗` Chiamato quando una parte della **Texture2D** specificata dalle coordinate di ``src_rect`` deve essere disegnata nel rettangolo ``rect`` sul :ref:`CanvasItem` specificato. ``modulate`` specifica un moltiplicatore per i colori disegnati, mentre ``transpose`` specifica se il disegno deve essere eseguito in ordine di colonna anziché in ordine di riga (disegnando la texture ruotata di 90 gradi in senso orario). \ **Nota:** Questo è utilizzato solo nel rendering 2D, non in quello 3D. .. rst-class:: classref-item-separator ---- .. _class_Texture2D_private_method__get_height: .. rst-class:: classref-method :ref:`int` **_get_height**\ (\ ) |virtual| |required| |const| :ref:`🔗` Chiamato quando viene richiesta l'altezza della **Texture2D**. .. rst-class:: classref-item-separator ---- .. _class_Texture2D_private_method__get_width: .. rst-class:: classref-method :ref:`int` **_get_width**\ (\ ) |virtual| |required| |const| :ref:`🔗` Chiamato quando viene richiesta la larghezza della **Texture2D**. .. rst-class:: classref-item-separator ---- .. _class_Texture2D_private_method__has_alpha: .. rst-class:: classref-method :ref:`bool` **_has_alpha**\ (\ ) |virtual| |const| :ref:`🔗` Chiamato quando viene richiesta la presenza di un canale alfa nella **Texture2D**. .. rst-class:: classref-item-separator ---- .. _class_Texture2D_private_method__is_pixel_opaque: .. rst-class:: classref-method :ref:`bool` **_is_pixel_opaque**\ (\ x\: :ref:`int`, y\: :ref:`int`\ ) |virtual| |const| :ref:`🔗` Chiamato quando lo stato opaco di un pixel nella **Texture2D** viene richiesto nella posizione ``(x, y)`` specificata. .. rst-class:: classref-item-separator ---- .. _class_Texture2D_method_create_placeholder: .. rst-class:: classref-method :ref:`Resource` **create_placeholder**\ (\ ) |const| :ref:`🔗` Crea una versione segnaposto di questa risorsa (:ref:`PlaceholderTexture2D`). .. rst-class:: classref-item-separator ---- .. _class_Texture2D_method_draw: .. rst-class:: classref-method |void| **draw**\ (\ canvas_item\: :ref:`RID`, position\: :ref:`Vector2`, modulate\: :ref:`Color` = Color(1, 1, 1, 1), transpose\: :ref:`bool` = false\ ) |const| :ref:`🔗` Disegna la texture attraverso un :ref:`CanvasItem` con l'API del :ref:`RenderingServer` nella posizione ``position``. .. rst-class:: classref-item-separator ---- .. _class_Texture2D_method_draw_rect: .. rst-class:: classref-method |void| **draw_rect**\ (\ canvas_item\: :ref:`RID`, rect\: :ref:`Rect2`, tile\: :ref:`bool`, modulate\: :ref:`Color` = Color(1, 1, 1, 1), transpose\: :ref:`bool` = false\ ) |const| :ref:`🔗` Disegna la texture attraverso un :ref:`CanvasItem` con l'API del :ref:`RenderingServer`. .. rst-class:: classref-item-separator ---- .. _class_Texture2D_method_draw_rect_region: .. rst-class:: classref-method |void| **draw_rect_region**\ (\ canvas_item\: :ref:`RID`, rect\: :ref:`Rect2`, src_rect\: :ref:`Rect2`, modulate\: :ref:`Color` = Color(1, 1, 1, 1), transpose\: :ref:`bool` = false, clip_uv\: :ref:`bool` = true\ ) |const| :ref:`🔗` Disegna una parte della texture attraverso un :ref:`CanvasItem` con l'API del :ref:`RenderingServer`. .. rst-class:: classref-item-separator ---- .. _class_Texture2D_method_get_height: .. rst-class:: classref-method :ref:`int` **get_height**\ (\ ) |const| :ref:`🔗` Restituisce l'altezza della texture in pixel. .. rst-class:: classref-item-separator ---- .. _class_Texture2D_method_get_image: .. rst-class:: classref-method :ref:`Image` **get_image**\ (\ ) |const| :ref:`🔗` Restituisce un':ref:`Image` che è una copia dei dati da questa **Texture2D** (viene creata una nuova :ref:`Image` ogni volta). È possibile accedere alle :ref:`Image` e manipolarle direttamente. \ **Nota:** Questo restituirà ``null`` se questa **Texture2D** non è valida. \ **Nota:** Questo recupererà i dati della texture dalla GPU, il che potrebbe causare problemi di prestazioni in caso di uso eccessivo. Evita di chiamare :ref:`get_image()` ad ogni frame, soprattutto su texture di grandi dimensioni. .. rst-class:: classref-item-separator ---- .. _class_Texture2D_method_get_size: .. rst-class:: classref-method :ref:`Vector2` **get_size**\ (\ ) |const| :ref:`🔗` Restituisce le dimensioni della texture in pixel. .. rst-class:: classref-item-separator ---- .. _class_Texture2D_method_get_width: .. rst-class:: classref-method :ref:`int` **get_width**\ (\ ) |const| :ref:`🔗` Restituisce la larghezza della texture in pixel. .. rst-class:: classref-item-separator ---- .. _class_Texture2D_method_has_alpha: .. rst-class:: classref-method :ref:`bool` **has_alpha**\ (\ ) |const| :ref:`🔗` Restituisce ``true`` se questa **Texture2D** ha un canale alfa. .. |virtual| replace:: :abbr:`virtual (Questo metodo dovrebbe solitamente essere sovrascritto dall'utente per aver un effetto.)` .. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)` .. |const| replace:: :abbr:`const (Questo metodo non ha effetti collaterali. Non modifica alcuna variabile appartenente all'istanza.)` .. |vararg| replace:: :abbr:`vararg (Questo metodo accetta qualsiasi numero di argomenti oltre a quelli descritti qui.)` .. |constructor| replace:: :abbr:`constructor (Questo metodo è utilizzato per creare un tipo.)` .. |static| replace:: :abbr:`static (Questo metodo non necessita di alcun'istanza per essere chiamato, quindi può essere chiamato direttamente usando il nome della classe.)` .. |operator| replace:: :abbr:`operator (Questo metodo descrive un operatore valido da usare con questo tipo come operando di sinistra.)` .. |bitfield| replace:: :abbr:`BitField (Questo valore è un intero composto da una maschera di bit dei seguenti flag.)` .. |void| replace:: :abbr:`void (Nessun valore restituito.)`