Inkpicture [Résolu]

alienware62 20 Messages postés vendredi 10 octobre 2008Date d'inscription 23 mai 2010 Dernière intervention - 27 janv. 2010 à 11:21 - Dernière réponse : alienware62 20 Messages postés vendredi 10 octobre 2008Date d'inscription 23 mai 2010 Dernière intervention
- 27 janv. 2010 à 17:13
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
Afficher la suite 

9 réponses

Répondre au sujet
alienware62 20 Messages postés vendredi 10 octobre 2008Date d'inscription 23 mai 2010 Dernière intervention - 27 janv. 2010 à 17:13
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de alienware62
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 27 janv. 2010 à 11:39
0
Utile
possible d'utiliser la méthode DrawToBitmap de la classe Control ?

Renfield - Admin CodeS-SourceS - MVP Visual Basic
Commenter la réponse de Renfield
alienware62 20 Messages postés vendredi 10 octobre 2008Date d'inscription 23 mai 2010 Dernière intervention - 27 janv. 2010 à 11:50
0
Utile
oui il y a bien
boxSign.DrawToBitmap()


mais comment fonctionne t'il ?
Commenter la réponse de alienware62
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 27 janv. 2010 à 11:56
0
Utile
msdn.microsoft.com/fr-fr/library/system.windows.forms.control.drawtobitmap.aspx

Renfield - Admin CodeS-SourceS - MVP Visual Basic
Commenter la réponse de Renfield
alienware62 20 Messages postés vendredi 10 octobre 2008Date d'inscription 23 mai 2010 Dernière intervention - 27 janv. 2010 à 11:58
0
Utile
je vais tester merci de ton aide
Commenter la réponse de alienware62
alienware62 20 Messages postés vendredi 10 octobre 2008Date d'inscription 23 mai 2010 Dernière intervention - 27 janv. 2010 à 12:19
0
Utile
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")
Commenter la réponse de alienware62
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 27 janv. 2010 à 12:53
0
Utile
ok.

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

Renfield - Admin CodeS-SourceS - MVP Visual Basic
Commenter la réponse de Renfield
alienware62 20 Messages postés vendredi 10 octobre 2008Date d'inscription 23 mai 2010 Dernière intervention - 27 janv. 2010 à 13:53
0
Utile
ok, merci quand même
Commenter la réponse de alienware62
alienware62 20 Messages postés vendredi 10 octobre 2008Date d'inscription 23 mai 2010 Dernière intervention - 27 janv. 2010 à 15:47
0
Utile
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)
Commenter la réponse de alienware62

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.