Bonsoir à tous,
Je tourne en rond depuis qlq temps sur ce problème :
- save d'une image (snapshot) issue du contrôle webbrowser
Le code ci-dessous fonction et capture bien une image...
En revanche, je n'ai pas toute la page web, seulement ce qui est "vue" dans la fenêtre du browser... et je ne peux pas étendre la fenêtre du browser.
Donc ce que je cherche est :
- capture entiere de la page affiché dans le browser, même si toute la page n'est pas visuble.
le code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Public Class Form1
    Dim imgfile As String = "c:\temp\snapshot.jpg"
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
 
        ComboBox1.Items.Add("http://fr.wikipedia.org/wiki/Softimage")
        'ComboBox1.Items.Add("http://fr.toto.com/softimage/")
    End Sub
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        WebBrowser1.Navigate(ComboBox1.SelectedItem)
    End Sub
 
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        WebBrowser1.Refresh()
    End Sub
 
    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        Dim wbWidth As Integer = WebBrowser1.Width
        Dim wbHeight As Integer = WebBrowser1.Height
        WebBrowser1.Size = New Size(wbWidth, wbHeight)
        Dim jpg As New Bitmap(WebBrowser1.Width, WebBrowser1.Height)
 
        ' ici le drawtobitmap ne semble pas être une "methode" de webbrowser.. ???? même si ça fonctionne.
        WebBrowser1.DrawToBitmap(jpg, New Rectangle(0, 0, wbWidth, wbHeight))
 
        jpg.Save(imgfile, System.Drawing.Imaging.ImageFormat.Jpeg)
        jpg.Dispose()
    End Sub
 
    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        System.IO.File.Delete(imgfile)
    End Sub
End Class
Pour faire fonctionner le code ci-dessus :
- créer une form, un panel1 et dans le panel1 ajouter le control webbrowser, et enfin les boutons...

De plus, quand je me déplace dans le webbrowser (scrollbar) et que je fais un save d'image (bouton3), j'obtiens une image blanche ???

Avez vous une idée de réponse pour ces deux questions ?
Merci
Patrick