2012-05-17 3 views
0

Je veux capter une partie de ma forme et dessiner dans la variable bitmap ...
lorsque j'utilise la fonction DrawToBitmap() et mis rectangle(12,40,...), la fonction juste capturer à partir de 0,0 point de la forme.
alors qu'est-ce que je fais pour résoudre ce problème?
réservoirs pour votre aidecomment capturer une partie d'une forme

Bitmap bmp = new Bitmap(((int)maxWidth)+2, ((int)maxHeight)+2); 
this.DrawToBitmap(bmp,new Rectangle(0,40,((int)maxWidth)+2, ((int)maxHeight)+2)); 
+0

Montrez votre code actuel s'il vous plaît. – Yuck

+0

toute aide .... !!!!! –

+4

Ceci n'est pas une hotline de soutien personnel. Personne n'est assis juste pour vous aider. Vous avez posté votre question, les gens vont répondre quand ils parcourent le site et ont envie de répondre. Spammer les commentaires toutes les 5 minutes n'aide pas, et en fait, va probablement chasser les gens. –

Répondre

2

Ok, donc ce que je faisais ici a été créé une nouvelle forme et a ajouté un bouton et une zone d'image. Lorsque vous cliquez sur le bouton, il découpe un rectangle hors du formulaire et le dessine dans la zone d'image.

J'ai utilisé -100,0 qui déplace l'image de 100 pixels vers la gauche.

private void button1_Click(object sender, EventArgs e) 
    { 
     //The image we will be drawing on then passing to picturebox 
     Bitmap bmp=new Bitmap(pictureBox1.Width,pictureBox1.Height); 

     using (Graphics g=Graphics.FromImage(bmp)) 
     { 
      using (Bitmap b = new Bitmap(this.Width, this.Height)) 
      { 
       //captures the Form screenschot, and saves it into Bitmap b 
       this.DrawToBitmap(b, new Rectangle(0, 0, this.Width, this.Height)); 

       //this draws the image from Bitmap b starting at the specified location to Bitmap bmp 
       g.DrawImageUnscaled(b, -100, 0); 
      } 
     } 
     //this assigns pictureBox1 the bmp Bitmap. 
     pictureBox1.Image = bmp; 
    } 
Questions connexes