1

コンテンツが動的に追加され、画像ファイルとしてエクスポートされるパネルがあります。以下のコードを使用して、コンテンツを画像としてエクスポートします。

 Bitmap tempBmp = new Bitmap(pnlCanvas.Width, pnlCanvas.Height);
 pnlCanvas.DrawToBitmap(tempBmp, new Rectangle(0, 0, pnlCanvas.Width, pnlCanvas.Height));
 tempBmp.Save(fileName);

特定のケースでは、RichTextBoxコントロールをパネルに追加しています。エクスポートしたときにコントロールが表示されないことがわかりました。

何が悪いのかわかりません。何をすべきか教えてください。

よろしくお願いします、K

4

3 に答える 3

3

述べられているように、MSDN DrawToBitmap は では機能しませんRichTextBoxGDI+を使用して手動でコンテンツを描画してみてください。

于 2012-10-19T13:58:24.417 に答える
0

コントロールが実際にそこにあるかどうか、それが廃棄されているか、または単に見えないかどうかを確認します。それに値を追加してみて、変数付きの値が返されるか、エラーが発生するかどうかを確認してください(値がなくなっている場合)。それが私の考えです:)

于 2012-10-19T13:56:37.840 に答える
0

まさに私が探していたもので成功しました。同じものを探している人を助けることができるように、私は自分の質問に答えています。

ActiveX コントロールをキャプチャし、イメージとしてエクスポートするためのサンプル コードです。

Rectangle ctrlRect = myControl.RectangleToScreen(myControl.ClientRectangle);
Bitmap myImage = new Bitmap(ctrlRect.Width,ctrlRect.Height,PixelFormat.Format32bppArgb);
Graphics myGraphics = Graphics.FromImage(myImage);
myGraphics.CopyFromScreen(ctrlRect.Location, Point.Empty, myControl.Size);
myImage.Save("sample.png");
于 2012-10-20T11:20:05.430 に答える