2

我想在picturebox上显示一个图像,我也想在picturebox上显示网格。所以如果我缩放图像,那么我可以很容易地识别picturebox上的像素大小。有人可以帮我这样做吗?例如。

在图片框上正常显示图像

在此处输入图像描述

但我想在图片框上显示这样的图像

在此处输入图像描述

4

1 回答 1

3

这是使用以下代码绘制网格线的代码Graphics.DrawLine()

Public Class Form1

    Private Sub PictureBox1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles PictureBox1.Paint

        Dim g As Graphics = e.Graphics
        Dim pn As New Pen(Color.White) '~~~ color of the lines

        Dim x As Integer
        Dim y As Integer

        Dim intSpacing As Integer = 10  '~~~ spacing between adjacent lines

        '~~~ Draw the horizontal lines
        x = PictureBox1.Width
        For y = 0 To PictureBox1.Height Step intSpacing
            g.DrawLine(pn, New Point(0, y), New Point(x, y))
        Next

        '~~~ Draw the vertical lines
        y = PictureBox1.Height
        For x = 0 To PictureBox1.Width Step intSpacing
            g.DrawLine(pn, New Point(x, 0), New Point(x, y))
        Next

    End Sub

End Class

要对此进行测试,请创建一个新项目并添加一个图片框(名称 = PictureBox1)。然后为它选择一个图像(您可以使用属性窗口来设置图像)。然后复制粘贴上面的代码并运行它。您将看到网格线。我们已经编写了paint在 Picturebox 事件上绘制网格线的代码。因此,当您在运行时在图片框上设置图像时,这些网格也会重新绘制。

希望它会给你一个想法。顺便说一句,上面的代码是使用 VB.Net 进行编码和测试的。祝你好运...

于 2012-08-04T18:06:41.730 回答