dic 19
Eccoci di nuovo con un altro articolo sulla programmazione vb.net dedicata alle immagini . Oggi realizzeremo un semplice software per “timbrare” delle immagini con un logo o meglio crearemo un software per sovrapporre ad un’ immagine selezionata un’altra immagine di dimensione piu’ piccola come per esempio un logo .
Il codice in questione è il seguente, proviamo ad analizzarlo :
Public Class Form1
Function timbra(ByRef img As Bitmap, ByRef timbro As Bitmap) As Bitmap
Dim eg As Graphics
timbra = New Bitmap(img.Width, img.Height)
eg = Graphics.FromImage(timbra)
eg.DrawImage(img, New Point(0, 0))
eg.DrawImage(timbro, New Point((img.Width - timbro.Width) - 20, (img.Height - timbro.Height) - 20))
End Function
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim timbro As Bitmap = New Bitmap("c:\tmp\timbro.png")
Dim immagine As Bitmap = New Bitmap("c:\tmp\1.gif")
Dim imgTimbrata As Bitmap = timbra(immagine, timbro)
imgTimbrata.Save("c:\tmp\1t.jpg", Drawing.Imaging.ImageFormat.Jpeg)
End Sub
End Class
La parte piu’ importante è la funzione Timbra la quale accetta due parametri di tipo bitmap e restituisce la nuova immagine modificata . Il primo parametro è l’immagine da timbrare mentre il secondo è il timbro da usare .
Function timbra(ByRef img As Bitmap, ByRef timbro As Bitmap) As Bitmap
Dim eg As Graphics
Subito dopo la definizione della funzione , dichiariamo la variabile eg di tipo grapich, essa come abbiamo visto in un articolo precedente ( classe grapich ) si occupa della creazione e della modifica di immagini.
timbra = New Bitmap(img.Width, img.Height)
Timbra , la variabile di tipo bitmap , verrà restituita quando il codice della funzione sarà eseguito. Con questo pezzo di codice invochiamo il costruttore bitmap e dichiariamo le dimensioni della nuova immagine.
eg = Graphics.FromImage(timbra)
Con Graphics.FromImage(timbra) passiamo il controllo dell’immagine timbra all’istanza della classe graphic eg .
eg.DrawImage(img, New Point(0, 0))
eg.DrawImage(timbro, New Point((img.Width - timbro.Width) - 20, (img.Height - timbro.Height) - 20))
Questa è la parte piu’ importante del codice e per capirla bene dovete sapere che DrawImage serve per copiare tutti i px di un immagine su un’altra immagine . La funzione , accetta due parametri, il primo parametro è l’immagine da copiare mentre il secondo sono le cordinate, x e y, dove incollare l’immagine .
Con queste due righe di codice non facciamo altro che duplicare l’immagine da timbrare e inserire l’immagine timbro in basso a destra .
dic 13
La classe graphics, del framework .net, ci permette di manipolare le immagini o addirittura creare un immagine da zero e successivamente inserire forme geometriche come il cerchio , la linea e il quadrato . Iniziamo in questo appuntamento con un semplice esempio , successivamente vi spiegherò come creare un software per timbrare le immagini con un logo .
I metodi della classe in questione sono tanti, proviamo ad analizzarne alcuni .
DrawLine(Pens.Olive, New Point(1, 1), New Point(100, 1))
La sintassi del metodo DrawLine è DrawLine(colore,punto di inizio,punto di fine) e serve a realizzare una linea
Se invece vogliamo disegnare un rettangolo occorre usare la funzione DrawRectangle(colore linea,x,y,larghezza,altezza)
Una visione a 360 gradi della classe grapch la trovate all’indirizzo http://msdn.microsoft.com/it-it/library/5y289054.aspx
Prima di concludere vi posto un semplice esempio di un progetto form con una picturebox
Dim img As New Bitmap(500, 500)
Dim eg As Graphics = Graphics.FromImage(img)
eg.DrawLine(Pens.Olive, New Point(1, 1), New Point(100, 1))
eg.DrawRectangle(Pens.Orange, New Rectangle(New Point(0, 0), New Size(100, 200)))
PictureBox1.Image = img
Come potete notare dal codice, prima di inizializzare la classe graphics, occorre creare un oggetto bitmap specificando le dimensioni della nuova immagine .
gen 8
Visual Basic e tutti i linguaggi di programmazione .net permettono, anche se non in modo nativo, la connessione a un server mysql . Visual Studio non contiene le librerie , occorre quindi scaricarle ed installarle . Sul sito ufficiale MYSQL, a questo indirizzo ( Scarica il Mysql Connector per VB.net ), è disponibile l’ultima versione del mysql connector per .net . Dopo averlo installato e dopo aver creato un nuovo progetto con visual studio dobbiamo aggiungere il riferimento alla libreria . In esplora soluzioni facciamo click con il tasto destro sul nome del progetto e selezioniamo Aggiungi Riferimento

Cliccare sulla linguetta .net e aggiungere la libreria Mysql.Data
Continua a leggere
gen 6
Visual Basic .NET permette l’apertura di file, cartelle e siti web con i programmi predefiniti del sistema operativo.
Oggi spiegheremo come inserire un link nella nostra applicazione e come gestire l’evento per la visualizzazione del website.
In Visual Studio creiamo un nuovo progetto con interfaccia grafica e inseriamo una LinkLabel: uno speciale controllo che gestisce la visualizzazione dei link .

Nella casella proprietà, dopo aver selezionato il nuovo componente dal Form, individuiamo l’attributo Text e inseriamo l’url del sito web . Esempio : www.miositoweb.it

Facciamo doppio click sul LinkLabel e nella sub appena generata inseriamo il seguente codice :
System.Diagnostics.Process.Start("http://www.miositoweb.it")
Se vogliamo è possibile prelevare l’url direttamente dalla LinkLabel :
System.Diagnostics.Process.Start("http://" & sender.text)
gen 4
A volte, quando realizziamo una applicazione è necessario creare una parte del programma dove l’utente modifica con facilità delle impostazioni.
Un esempio lampante è un programma che si collega a un database. L’utente deve modificare con facilità i dati per accedere al proprio database : host,user,password e database.
In visual studio disegniamo il seguente form con 4 texbox, 5 label e un button

Continua a leggere
dic 30
Per la lettura e la scrittura di un file in VB.Net possiamo usare le classi StreamWriter e StreamReader.
Ecco un semplice esempio :
' Scrittura file TXT
Dim file As String = "c:\p.txt"
Dim sWriter As New IO.StreamWriter(file)
sWriter.Write("Prova scrittura su file")
sWriter.Close()
' Lettura file TXT
Dim sReader As New IO.StreamReader(file)
Dim testo = sReader.ReadToEnd
sReader.Close()
Console.WriteLine(testo)
Console.ReadLine()
Il codice è molto banale . Se qualcuno ha qualche problema o dubbio sono a vostra disposizione
dic 29
Il framework .net della Microsoft ha veramente cambiato il modo di programmare . Prima per realizzare il seguente programma, occorrevano parecchi minuti se non ore .
Scaricare un file da internet è davvero semplice. Ecco un esempio :
Sub main()
Try
Dim webC As New Net.WebClient
Dim patchFile As String = "http://www.google.it/intl/it_it/images/logo.gif"
Dim filename As String = patchFile.Substring(patchFile.LastIndexOf("/") + 1)
webC.DownloadFile(patchFile, filename)
Catch ex As Exception
MsgBox(ex)
End Try
End Sub
- Sto utilizzando un progetto console di visual studio. Sub Main è la routine principale . Viene invocata all’inizio del programma
- Try..Catch..End Try è un importante costrutto per la gestione degli errori. Se all’interno di TRY si genera un errore , il programma non viene interrotto , ma viene eseguito il codice all’interno di CATCH
- Instanziamo la classe Net.WebClient nell’oggetto WebC
- patchFile è l’indirizzo del file
- filename è il nome del file . patchFile.LastIndexOf(“/”) restituisce la posizione dell’ultimo / . Con patchFile.Substring ritagliamo i caratteri che ci servono
- DownloadFile è il cuore dello script . Come primo parametro occorre fornire l’indirizzo http del file. Il secondo parametro è invece l’indirizzo di destinazione
L’indirizzo di destinazione puo’ essere anche del tipo “C:\mydocument\nomefile.tipo”. Se passiamo solamante il nome del file, come nell’esempio sopra, il download viene salvato nella cartella bin del progetto (Visual Studio 2008\Projects\nameproject\nameproject\bin)
dic 28
Vi segnalo questa interessante funzione. Ci permette di leggere il codice html di una pagina web.
Function getHtmlCode(ByVal url As String) As String
Dim WebRequest As Net.HttpWebRequest
Dim WebResponse As Net.WebResponse
Dim stream As IO.Stream
Dim streamReader As IO.StreamReader
Try
WebRequest = Net.WebRequest.Create(url)
WebRequest.Timeout = 10000
WebResponse = WebRequest.GetResponse
stream = WebResponse .GetResponseStream
streamReader = New IO.StreamReader(stream)
Return streamReader.ReadToEnd
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Function