自分のICan3D.Graphics
クラスから生成された画像から直接描画するために作成したコントロールのOnPaintメソッドをオーバーライドしています。画像を保存すると(ご覧のとおり、その行はコメント化されています)、画像は正しいです。ただし、フォームが読み込まれると、画像は背景として表示されません。
Imports System
Namespace ICan3D
Public Class RenderSurface
Inherits Control
Dim nImg As Graphics
Protected Overrides Sub OnPaint(e As System.Windows.Forms.PaintEventArgs)
Dim img As Bitmap = nImg.Visual
'img.Save("C:\image.png")
Dim nGraphDis As System.Drawing.Graphics = System.Drawing.Graphics.FromImage(img)
Dim nPaintEventArgs As New PaintEventArgs(nGraphDis, New Rectangle(0, 0, Width, Height))
MyBase.OnPaint(nPaintEventArgs)
End Sub
Private Sub RenderSurface_Resize(sender As Object, e As System.EventArgs) Handles Me.Resize
nImg = New Graphics(Width, Height)
End Sub
End Class
End Namespace
私はVB.netを使用しているので、すべての.netの回答が受け入れられます:)