0

VB 2010 で画像の ROI を計算するために移動可能な四角形に取り組んできました。VB を初めて使用するので、四角形を作成できましたが、アップロードした画像には表示されません。表示されますが、画像には表示されません。以下のリストされたコードによって 1.長方形を画像に表示するにはどうすればよいですか。2.長方形を画像全体で移動可能にする方法. 私は感謝するでしょう。ありがとう。

 Private Sub ROIToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles ROIToolStripMenuItem.Click
    Dim G As Graphics
    G = PictureBox1.CreateGraphics
    G.SmoothingMode = Drawing.Drawing2D.SmoothingMode.AntiAlias
    G.FillRectangle(Brushes.Silver, ClientRectangle)
    Dim P As Point
    Dim Box As Rectangle
    P.X = 1
    P.Y = 1
    Dim S As Size
    S.Width = 100
    S.Height = 20
    Box = New Rectangle(P, S)
    G.DrawRectangle(Pens.Red, Box)
4

1 に答える 1

0

以下のコードを試してください

Dim G As Graphics
Dim uploadedBmp1, backgroundBmp1 As Bitmap

Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    uploadedBmp1 = New Bitmap("C:\Windows\winnt.bmp")
    backgroundBmp1 = New Bitmap(uploadedBmp1.Width, uploadedBmp1.Height)

    G = Graphics.FromImage(backgroundBmp1)
    PictureBox1.Image = backgroundBmp1
End Sub

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    DrawRectangleOnImage(New Point(0, 0), New Size(100, 50))
End Sub

Private Sub DrawRectangleOnImage(ByVal point1 As Point, ByVal size1 As Size)
    G.Clear(Color.White)
    G.DrawImage(uploadedBmp1, 0, 0, uploadedBmp1.Width, uploadedBmp1.Height)

    Dim rectangle1 As New Rectangle(point1, size1)
    G.DrawRectangle(Pens.Red, rectangle1)
    PictureBox1.Invalidate()
End Sub

移動する四角形を作成するには、必要なパラメーターを指定して DrawRectangleOnImage サブルーチンを呼び出すだけです。以前のスナップショットが自動的にクリアされ、すべてが再描画されます。

于 2013-07-01T16:22:06.417 に答える