私は、通常は視覚化のためにフォームに追加するいくつかのプロットを含むクラスMyUserControl
を持っています。C#レンダリングパネルをプログラム的に
しかし、画像ファイルにMyUserControl
オブジェクトを書き込む必要がある機能がありますが、画像内に白い部分しか見えません。次のように
私のコードは次のとおりです。
MyUserControl uc = new MyUserControl();
uc.loadData();
int width = uc.Size.Width;
int height = uc.Size.Height;
Bitmap bm = new Bitmap(width, height);
uc.DrawToBitmap(bm, new Rectangle(0, 0, width, height));
bm.Save(@"C:\path\to\file.bmp");
私はそのすでにレンダリングのためにパネルに追加されて、それは代わりに、ファイルに直接レンダリングしてきた思考の中に「トリック」私のMyUserControl
に行うためには何が必要なのか?
MyUserControlはどのクラスとインターフェイスを継承しますか? – WithMetta
bm.Save()を呼び出す前にuc.OnPaint(null)を呼び出してみてください。 https://docs.microsoft.com/en-us/dotnet/framework/winforms/controls/rendering-a-windows-forms-control – WithMetta
DrawToBitmapは、Paintイベントで描画したものを描画します。 – TaW