Inkpicture [Résolu]

Signaler
Messages postés
20
Date d'inscription
vendredi 10 octobre 2008
Statut
Membre
Dernière intervention
23 mai 2010
-
alienware62
Messages postés
20
Date d'inscription
vendredi 10 octobre 2008
Statut
Membre
Dernière intervention
23 mai 2010
-
Bonjour à vous,
j'ai parcouru des 100n de pages web à la recherche d'informations sur l'objet inkpicture mais aucun ne dit vraiment son fonctionnement.
je voudrais développer un champs signature donc je place le inkpicture, on peut bien écrire dedans, mais je n'arrive pas à sauvegarder la signature en image gif jpg bmp ou autre, pour pouvoir la placer dans un fiché excel pour imprimer
voila comment je sauvegarde :
 boxSign.Image.Save("c:\monimage.jpg", System.Drawing.Imaging.ImageFormat.Jpeg)

boxSign=inkpicture1

Merci d'avance de votre aide.

Cordialement Alienware62
A voir également:

9 réponses

Messages postés
20
Date d'inscription
vendredi 10 octobre 2008
Statut
Membre
Dernière intervention
23 mai 2010

j'ai réussi
voila le code si ça peut aider quelqu'un ( vb.net 2008 ):

Public Class Form1


    Dim bytes() As Byte
    Dim sauv As System.IO.FileStream
    Dim inkoverlay1 As Microsoft.Ink.InkOverlay



    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click




        sauv = System.IO.File.Create("C:\tempink.gif")
        bytes = inkoverlay1.Ink.Save(PersistenceFormat.Gif, CompressionMode.NoCompression)

        sauv.Write(bytes, 0, bytes.Length)
        sauv.Close()


    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        
        inkoverlay1 = New Microsoft.Ink.InkOverlay()

        inkoverlay1.Handle = Panel1.Handle

        inkoverlay1.Enabled = True

    End Sub

   
End Class
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
60
possible d'utiliser la méthode DrawToBitmap de la classe Control ?

Renfield - Admin CodeS-SourceS - MVP Visual Basic
Messages postés
20
Date d'inscription
vendredi 10 octobre 2008
Statut
Membre
Dernière intervention
23 mai 2010

oui il y a bien
boxSign.DrawToBitmap()


mais comment fonctionne t'il ?
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
60
Messages postés
20
Date d'inscription
vendredi 10 octobre 2008
Statut
Membre
Dernière intervention
23 mai 2010

je vais tester merci de ton aide
Messages postés
20
Date d'inscription
vendredi 10 octobre 2008
Statut
Membre
Dernière intervention
23 mai 2010

cela me donne un carré mais avec le rectangle gris du inkpicture mais sans la signature (le ink)

Dim bi As New Bitmap(150, 150)
   boxSign.DrawToBitmap(bi,Rectangle(0, 0, 150, 150 )
        bi.Save("c:\monimage.jpg")
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
60
ok.

je ne peux t'aider plus, sans dispositif de tracage, so..

Renfield - Admin CodeS-SourceS - MVP Visual Basic
Messages postés
20
Date d'inscription
vendredi 10 octobre 2008
Statut
Membre
Dernière intervention
23 mai 2010

ok, merci quand même
Messages postés
20
Date d'inscription
vendredi 10 octobre 2008
Statut
Membre
Dernière intervention
23 mai 2010

Donc voila mon avancement: j'ai réussi à recuperer la signature (qui est le ink enfin je crois) je la mets dans un bytes et je l'écris dans un stream et la paf le drame "Le flux ne prend pas en charge l'écriture"

(VB.net 2008)
'boxSign c'est mon inkpicture1
    Dim bytes() As Byte
    Dim sauv As System.IO.Stream


    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click


        OpenFileDialog1.ShowDialog()

        sauv = OpenFileDialog1.OpenFile()'je sélectionne un .gif vierge
        bytes = boxSign.Ink.Save(PersistenceFormat.Gif, CompressionMode.Default)

        sauv.Write(bytes, 0, bytes.Length)



    End Sub

l'erreur indique la ligne

sauv.Write(bytes, 0, bytes.Length)