Differenze tra le versioni di "Mostrare una parte di un'immagine"

Da Gambas-it.org - Wikipedia.
Riga 5: Riga 5:
  
 
===Caso "''a coordinate iniziali fisse''"===
 
===Caso "''a coordinate iniziali fisse''"===
In questo caso le coordinate iniziali dell'immagine, sia in riferimento alla sua lunghezza che alla sua altezza, sono definite in modo statico dai valori ''x = 0'' e ''y = 0'', e viene utilizzato il metodo ''.Resize()'' della Classe ''Image'' o della Classe ''Picture''. L'effetto che si ottiene è semplicemente quello di un'immagine ''tagliata'': si otterrà la parte di immagine iniziando da sinistra.
+
In questo caso le coordinate iniziali dell'immagine, sia in riferimento alla sua lunghezza che alla sua altezza, sono definite in modo statico dai valori ''x = 0'' e ''y = 0'', e viene utilizzato il Metodo ".Resize()" della Classe ''Image'' o della Classe ''Picture''. L'effetto che si ottiene è semplicemente quello di un'immagine ''tagliata'': si otterrà la parte di immagine iniziando da sinistra.
  
 
Facciamo un esempio, nel quale mostreremo una parte di un'immagine avente dimensioni iniziali 720 x 1280 pixel.
 
Facciamo un esempio, nel quale mostreremo una parte di un'immagine avente dimensioni iniziali 720 x 1280 pixel.
  '''Public''' Sub Form_Open()   
+
  Public Sub Form_Open()   
 
    
 
    
 
   Dim im As Image
 
   Dim im As Image
   
+
   
+
  With im = Image.Load("''/percorso/della/immagine/da/caricare''")   
  With im = Image.Load("''/percorso/della/immagine/da/caricare''")   
+
  <FONT Color=gray>' ''Prende soltanto una "parte" dell'immagine:''</font>
  <FONT Color=gray>' ''Prendiamo soltanto una "parte" dell'immagine:''</font>
+
    <FONT Color=#B22222>.Resize(PictureBox1.W, 300)</font>   
    <FONT Color=#B22222>.Resize(PictureBox1.W, 300)</font>   
+
  End With   
  End With   
+
   
   
+
  <FONT Color=gray>' ''Carica l'immagine nella "PictureBox", che provvederà a mostrarla:''</font>
  <FONT Color=gray>' ''Carichiamo l'immagine nella "PictureBox", che provvederà a mostrarla:''</font>
+
  PictureBox1.Picture = im.Picture
  PictureBox1.Picture = im.Picture
+
   
   
+
  End
  '''End'''
 
  
  
 
===Caso "''a coordinate iniziali mobili''"===
 
===Caso "''a coordinate iniziali mobili''"===
In questo caso le coordinate iniziali dell'immagine, invece, ''slittano'' lungo l'immagine medesima; e pertanto potremo individuare un qualsiasi dettaglio dell'immagine. Si utilizzerà il metodo ''.Copy()'' della Classe ''Image''.
+
In questo caso le coordinate iniziali dell'immagine, invece, ''slittano'' lungo l'immagine medesima; e pertanto potremo individuare un qualsiasi dettaglio dell'immagine. Si utilizzerà il Metodo ".Copy()" della Classe ''Image''.
  
 
Esempio:
 
Esempio:
  '''Public''' Sub Form_Open()   
+
  Public Sub Form_Open()
 
+
   
 
   Dim im As Image
 
   Dim im As Image
 
   
 
   
  With im = Image.Load("''/percorso/della/immagine/da/caricare''")   
+
  With im = Image.Load("''/percorso/della/immagine/da/caricare''")   
  <FONT Color=gray>' ''Prendiamo un dettaglio dell'immagine:''</font>
+
  <FONT Color=gray>' ''Prende soltanto un dettaglio dell'immagine:''</font>
    <FONT Color=#B22222>.Copy(100, 200, 200, 100)</font>   
+
    <FONT Color=#B22222>.Copy(100, 200, 200, 100)</font>   
  End With   
+
  End With   
   
+
 
  <FONT Color=gray>' ''Carichiamo l'immagine nella "PictureBox", che provvederà a mostrarla:''</font>
+
  <FONT Color=gray>' ''Carica l'immagine nella "PictureBox", che provvederà a mostrarla:''</font>
  PictureBox1.Picture = im.Picture
+
  PictureBox1.Picture = im.Picture
   
+
 
  '''End'''
+
  End
In vero il metodo ''.Copy()'' può essere utilizzato anche nel caso precedente a coordinate iniziali fisse, ponendo i primi due argomenti (x e y) a zero.
+
In vero il Metodo ".Copy()" può essere utilizzato anche nel caso precedente a coordinate iniziali fisse, ponendo i primi due argomenti (x e y) a zero.

Versione delle 18:07, 12 lug 2023

Mostrare una parte di un'immagine prevede due casi che possiamo definire:

  • a coordinate iniziali fisse;
  • a coordinate iniziali mobili.


Caso "a coordinate iniziali fisse"

In questo caso le coordinate iniziali dell'immagine, sia in riferimento alla sua lunghezza che alla sua altezza, sono definite in modo statico dai valori x = 0 e y = 0, e viene utilizzato il Metodo ".Resize()" della Classe Image o della Classe Picture. L'effetto che si ottiene è semplicemente quello di un'immagine tagliata: si otterrà la parte di immagine iniziando da sinistra.

Facciamo un esempio, nel quale mostreremo una parte di un'immagine avente dimensioni iniziali 720 x 1280 pixel.

Public Sub Form_Open()  
 
 Dim im As Image

 With im = Image.Load("/percorso/della/immagine/da/caricare")  
' Prende soltanto una "parte" dell'immagine:
   .Resize(PictureBox1.W, 300)  
 End With  
   
' Carica l'immagine nella "PictureBox", che provvederà a mostrarla:
 PictureBox1.Picture = im.Picture
   
End


Caso "a coordinate iniziali mobili"

In questo caso le coordinate iniziali dell'immagine, invece, slittano lungo l'immagine medesima; e pertanto potremo individuare un qualsiasi dettaglio dell'immagine. Si utilizzerà il Metodo ".Copy()" della Classe Image.

Esempio:

Public Sub Form_Open()

 Dim im As Image

 With im = Image.Load("/percorso/della/immagine/da/caricare")  
' Prende soltanto un dettaglio dell'immagine:
   .Copy(100, 200, 200, 100)  
 End With  
  
' Carica l'immagine nella "PictureBox", che provvederà a mostrarla:
 PictureBox1.Picture = im.Picture
  
End

In vero il Metodo ".Copy()" può essere utilizzato anche nel caso precedente a coordinate iniziali fisse, ponendo i primi due argomenti (x e y) a zero.