2012-05-17 2 views
0

Я хочу захватить часть моей формы и нарисовать ее в битмап-переменной ...
, когда я использую функцию drawToBitmap() и устанавливаю rectangle(12,40,...), функция просто захватывает с 0,0 точки форма.
то что мне делать, чтобы решить эту проблему?
баки для вашей помощикак захватить часть формы

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

Показать текущий код пожалуйста. – Yuck

+0

любая помощь .... !!!!! –

+4

Это не личная поддержка. Никто не сидит, чтобы помочь вам. Вы отправили свой вопрос, люди ответят, когда они обойдутся, просматривая сайт и чувствуя себя как ответ. Спам комментариев каждые 5 минут не помогает, и на самом деле, вероятно, будет отгонять людей. –

ответ

2

Ok так что я сделал здесь был создан новый вид и добавил кнопку и окно изображения. Когда вы нажимаете кнопку, он вырезает прямоугольник из формы и рисует его в окне изображения.

Я использовал -100,0, который перемещает изображение на 100 пикселей влево.

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; 
    } 
Смежные вопросы