Differenze tra le versioni di "Mostrare una parte di un'immagine"
Riga 1: | Riga 1: | ||
− | Mostrare una <SPAN style="text-decoration:underline">parte</span> di un' | + | Mostrare una <SPAN style="text-decoration:underline">parte</span> di un'immagine prevede due casi che possiamo definire: |
* a coordinate iniziali fisse; | * a coordinate iniziali fisse; | ||
* a coordinate iniziali mobili. | * a coordinate iniziali mobili. |
Versione delle 12:09, 26 dic 2014
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.
Facciamo un esempio, nel quale mostreremo una parte di un'immagine avente dimensioni 720 x 1280 pixel.
Public Sub Form_Open() Dim im As Image With im = Image.Load("/percorso/della/immagine/da/caricare") ' Prendiamo soltanto una "parte" dell'immagine: .Resize(PictureBox1.W, 300) End With ' Carichiamo 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") ' Prendiamo un dettaglio dell'immagine: .Copy(100, 200, 200, 100) End With ' Carichiamo 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.