Buongiorno...
finalmente si scorge una flebile luce in fondo al tunnel... Trovato una soluzione al problema, che come supponevo, ha le radici proprio nell'uso dell'InkOverlay...
Alla Load imposto l'oggetto inkCollector (usato per disegnare), passandogli l'handle del controllo usato come 'tavola', nel mio caso la PictureBox.
codice:
objPen = New InkCollector(pbFirma.Handle)
objPen.Enabled = True
Tramite l'evento click di un Command, richiamo il seguente codice:
codice:
Dim objBufferImage() As Byte 'Buffer di byte
Dim objStreamImage As MemoryStream 'serve per la conversione in oggetto immagine
Try
'ObjInk (ovvero il disegno vero e proprio) viene serializzato in un flusso di byte
objBufferImage = objPen.Ink.Save(PersistenceFormat.Gif)
'In FileStream inserisco il contenuto del buffer (x salvare immagine)
objStreamImage = New MemoryStream(objBufferImage, 0, objBufferImage.Length)
'Ricavo obj Immagine
imgFirma = Image.FromStream(objStreamImage)
'Visualizzo l'immagine disegnata in un'altra PictureBox...
pbMostraImg.Image = imgFirma
Catch ex As Runtime.InteropServices.COMException
If ex.ErrorCode = -2147418113 Then 'Campo immagine Vuoto...
MsgBox("Mancaaaaaaaa....", MsgBoxStyle.Exclamation, "")
Else
MsgBox("Errore " & ex.Message, MsgBoxStyle.Critical, "")
End If
Catch ex As Exception
MsgBox("Errore " & ex.Message, MsgBoxStyle.Critical, "")
End Try
Una volta ottenuto l'oggetto image è possibile visualizzarlo, salvarlo ecc ecc.
Ciao a todos.
A.