IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

UserControl vers une image


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Septembre 2009
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 36
    Par défaut UserControl vers une image
    Bonjour, je souhaiterais faire une exportation d'un userControl vers une image.
    Je m'explique, dans un usercontrol je rajoute des objets (c'est une sorte de zone de dessin en gros) et je voudrais faire une exportation en image

    Voici mon code :

    Cependant si j'ai des scrollbar et que je suis pas positionner en 0,0, ca fait une capture que de la zone affiché du usercontrol alors que je voudrais une capture de tout le usercontrol. Par contre si les scrollbar on les values a 0 je peux avoir une capture en image de tout l'usercontrol meme si j'ai des objets tout en bas, mais si je deplace les scrollbars je n'ai pas les objets situer avant

    merci de votre aide, en espérant avoir été clair :s

    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
    private void Form1_Load(object sender, EventArgs e)
        {
     
            SaveAsBitmap(this,"C:\\f1.bmp");
     
            //The same way you can pass the controls like button,dataGrid etc
            //SaveAsBitmap(mydataGrid,"C:\\report.bmp")
        }
     
        public void SaveAsBitmap(Control control, string fileName)
        {   
            //getthe instance of the graphics from the control
            Graphics g = control.CreateGraphics();
     
            //new bitmap object to save the image
            Bitmap bmp = new Bitmap(control.Width, control.Height);
     
            //Drawing control to the bitmap
            control.DrawToBitmap(bmp, new Rectangle(0, 0, control.Width, control.Height));
     
            bmp.Save(fileName);
            bmp.Dispose();
     
        }

  2. #2
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2008
    Messages
    200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2008
    Messages : 200
    Par défaut
    Citation Envoyé par LyonM Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
            //new bitmap object to save the image
            Bitmap bmp = new Bitmap(control.Width, control.Height);
     
            //Drawing control to the bitmap
            control.DrawToBitmap(bmp, new Rectangle(0, 0, control.Width, control.Height));
    Bonjour,

    - control.Width et control.Height vont te donner les dimensions de ta zone de dessin (donc tu dimensionnes ton resultat par rapport à ce qui est visible et non les dimensions de la totalité du dessin)
    - new Rectangle(0, 0, control.Width, control.Height) : tu demande à déssiner à partir du 0 de ton control (donc le 0 de ce qui est visible).

    Du coup, tu ne prend pas en compte la taille réel du dessin à sauvegarder. Il faut que tu inclus la dimension réel de ton dessin. Et que tu tiennes comptes des décalages de tes scrollBar.

Discussions similaires

  1. Lien vers une image
    Par body72 dans le forum Langage
    Réponses: 2
    Dernier message: 29/04/2008, 16h43
  2. Réponses: 1
    Dernier message: 27/02/2008, 13h55
  3. Comment obtenir le chemin complet vers une image
    Par Veler dans le forum VB.NET
    Réponses: 6
    Dernier message: 06/10/2007, 13h07
  4. lien vers une image
    Par stars333 dans le forum Langage
    Réponses: 3
    Dernier message: 07/05/2007, 12h07
  5. Lien vers une image sur un autre serveur
    Par claralavraie dans le forum ASP
    Réponses: 1
    Dernier message: 23/12/2005, 11h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo