Copier une parti de l'écran [Résolu]

cs_ShayW 3238 Messages postés jeudi 26 novembre 2009Date d'inscription 14 mars 2018 Dernière intervention - 3 nov. 2010 à 23:36 - Dernière réponse :  Utilisateur anonyme
- 4 nov. 2010 à 20:17
Bonsoir
Comment copier une parti de l'écran dans une
image

merci
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
Utilisateur anonyme - 4 nov. 2010 à 20:17
3
Merci
Re,
Pourquoi pas si ça te convient comme ca mais bon.
Par contre supprime la sauvegarde sur le disque :
b.Save("test.png", Imaging.ImageFormat.Png)

Et à la place charge une copie du bitmap dans ton background :
framescreen.BackgroundImage = CType(b.Clone,Image)

Tu évitera un double accès (écriture, lecture) au disque de cette façon.
A bientôt

Merci Utilisateur anonyme 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 102 internautes ce mois-ci

Commenter la réponse de Utilisateur anonyme
Utilisateur anonyme - 4 nov. 2010 à 14:37
0
Merci
Salut,
Comme ta question est très vague (copie de l'application incluse?) voici une première méthode en attendant tes précisions :

'nouveau bitmap
Dim b As New Bitmap(300, 300)
'objet de dessin
Dim g As Graphics = Graphics.FromImage(b)
'copie de l'écran sur le bitmap
'c'est ici qu'on définit :
'   le coin supérieur gauche depuis lequel copier
'   le coin supérieur gauche de destination dans le bitmap (en général 0-0)
'   la taille de la zone à copier
g.CopyFromScreen(New Point(100, 200), New Point(0, 0), New Size(300, 300))
'sauvegarde de l'image
b.Save("test.png", Imaging.ImageFormat.Png)
'libération des ressources
g.Dispose()
b.Dispose()


J'attends de voir pour la suite selon ta réponse.
A+
Commenter la réponse de Utilisateur anonyme
cs_ShayW 3238 Messages postés jeudi 26 novembre 2009Date d'inscription 14 mars 2018 Dernière intervention - 4 nov. 2010 à 19:51
0
Merci
Bonsoir
Voila
Ce que j'essaye c'est de copier une parti de l'écran pour la mettre dans un picturebox
la parti à copier est de la meme grandeur du
picturebox
j'ai testé ton code en ajoutant
ça marche

Private Sub copypartscreen()
        framescreen.Visible = False
        framescreen.Width = 300
        framescreen.Height = 300
        framescreen.Left = 100
        framescreen.Top = 100
        Dim b As New Bitmap(framescreen.Width, framescreen.Height)
        Dim g As Graphics = Graphics.FromImage(b)
        g.CopyFromScreen(New Point(100, 100), New Point(0, 0), New Size(framescreen.Height, framescreen.Width))
        b.Save("test.png", Imaging.ImageFormat.Png)
        framescreen.BackgroundImage = Image.FromFile(Application.StartupPath & "\test.png")
        framescreen.Visible = True
        g.Dispose()
        b.Dispose()
        flagsee = False
    End Sub
Private Sub framescreen_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles framescreen.Paint
        If flagsee Then
            copypartscreen()
        End If
'about is a command button 
Private Sub about_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles about.Click
        framescreen.Visible = True
        flagsee = True
        End Sub



en fait c'est pour faire le meme effet qu'un picturebox transparent je copie la zone d'écran
qui soi disant etre derrière le picturebox
j'ai vu toute une méthode pour faire la
transparence j'ai pas trop compris

http://www.codeproject.com/kb/combobox/TransListBox.aspx

merci
Commenter la réponse de cs_ShayW

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.