2017-05-03 17 views
0

画像の上にラベルとともに画像があります。私の目標はラベルに情報を記入してから、ラベルで画像をスクリーンキャプチャして保存することです。ラベルを含むDrawToBitmap

私は現在、完全な画像を保存して保存できますが、ラベルは含まれていません。私はグラフィックや他のいくつかのことを試みましたが、どこにもいません。

すべてのヘルプははるかに高く評価される:)

Bitmap bitmap = new Bitmap(pictureBox1.Width, pictureBox1.Height); 
pictureBox1.DrawToBitmap(bitmap, new Rectangle(0, 0, bitmap.Width, bitmap.Height)); 
bitmap.Save("c:\\bitmap_images\\NewTest.jpeg", ImageFormat.Jpeg); 
+0

画像の代わりに画像とラベルを含むコンテナを描くために同じ方法を使用しています。すべてのラベルと画像をパネルに配置し、パネルを描画することができます。 –

+0

['Graphics.DrawString()'](https://msdn.microsoft.com/en-us/library/76c5db29(v = vs.110).aspx)で情報をビットマップに書き込むのはどうですか? –

+0

DrawTpBitmapは、ラベルが本当に上に浮かんでいなくても、そのControlsコレクションの要素としてピクチャボックス内にネストされている場合にのみ、簡単に使用できます。そうするには、__code__の親にする必要があります!そうするとき、彼らの場所を見る!また、読みやすい結果を得るには、Jpgの代わりにPngを使用してください! – TaW

答えて

0

はTY、それを考え出しました。ここにコードは

 Bitmap bmp = new Bitmap(pictureBox1.Width, pictureBox1.Height); 
     pictureBox1.DrawToBitmap(bmp, new Rectangle(0, 0, bmp.Width, bmp.Height)); 
     RectangleF rectf = new RectangleF(70, 90, 90, 50); 

     Graphics g = Graphics.FromImage(bmp); 

     g.SmoothingMode = SmoothingMode.AntiAlias; 
     g.InterpolationMode = InterpolationMode.HighQualityBicubic; 
     g.PixelOffsetMode = PixelOffsetMode.HighQuality; 
     g.DrawString("yourText", new Font("Tahoma", 8), Brushes.Black, rectf); 

     g.Flush(); 

     pictureBox1.Image = bmp; 
     bmp.Save("c:\\bitmap_images\\NewTest.jpeg", ImageFormat.Jpeg); 
+0

オプションはありますが、最高のものはありません!上記の私のコメントを参照してください! – TaW

関連する問題