Differenze tra le versioni di "Ottenere il puntatore di una variabile di tipo Image"

Da Gambas-it.org - Wikipedia.
(Creata pagina con 'Il "Puntatore" ad una variabile di tipo ''Image'' si ottiene mediante la specifica proprietà ''.Data'': Data As Pointer Esempio pratico: '''Public''' Sub Main() Dim im...')
 
Riga 1: Riga 1:
Il "Puntatore" ad una variabile di tipo ''Image'' si ottiene mediante la specifica proprietà ''.Data'':
+
Per ottenere una variabile di tipo "Puntatore" che punti ad una variabile di tipo "Image" <SUP>&#091;[[#Note|nota 1]]&#093;</sup>, bisognerà considerare che:
Data As Pointer
+
* con il Metodo "'''Object.Address(Image)'''" si ottiene l'indirizzo di memoria dell'<B>Oggetto</b> "Image";
 +
* con la Proprietà "'''image.Data'''" si ottiene l'indirizzo della specifica area di memoria dell'Oggetto "Image" ove sono memorizzati i valori attinenti ai pixel dell'immagine.
  
Esempio pratico:
+
Un esempio pratico (è necessario attivare anche i Componenti "gb.image" e "gb.image.io"):
 
  '''Public''' Sub Main()
 
  '''Public''' Sub Main()
 
   
 
   
 
   Dim im As Image
 
   Dim im As Image
  Dim p As Pointer
 
 
   
 
   
 
+
  im = Image.Load("''/percorso/del/file/immagine''")
  im = Image.Load("''/percorso/del/file/immagine''")
 
 
   
 
   
  p = im.Data
+
  Print Object.Address(Image)
 +
  print im.Data
 
   
 
   
 
  '''End'''
 
  '''End'''
 +
Come si nota, l'indirizzo dell'Oggetto "Image" è ovviamente "diverso" da quello della sua area di memoria, contenente effettivamente i valori dei pixel dell'immagine caricata, puntata dalla Proprietà ".Data".

Versione delle 18:17, 4 nov 2021

Per ottenere una variabile di tipo "Puntatore" che punti ad una variabile di tipo "Image" [nota 1], bisognerà considerare che:

  • con il Metodo "Object.Address(Image)" si ottiene l'indirizzo di memoria dell'Oggetto "Image";
  • con la Proprietà "image.Data" si ottiene l'indirizzo della specifica area di memoria dell'Oggetto "Image" ove sono memorizzati i valori attinenti ai pixel dell'immagine.

Un esempio pratico (è necessario attivare anche i Componenti "gb.image" e "gb.image.io"):

Public Sub Main()

 Dim im As Image

 im = Image.Load("/percorso/del/file/immagine")

 Print Object.Address(Image)
 print im.Data

End

Come si nota, l'indirizzo dell'Oggetto "Image" è ovviamente "diverso" da quello della sua area di memoria, contenente effettivamente i valori dei pixel dell'immagine caricata, puntata dalla Proprietà ".Data".