2012-08-02 33 views
2

我想在picturebox上显示图像,并且我想在picturebox上显示网格。所以,如果我放大图像,那么我可以很容易地识别出picturebox上的像素大小。任何一个都可以帮助我做到这一点?例如。如何在图片框控件上显示网格?

图像上的PictureBox

enter image description here

这正常显示,但我想在PictureBox中这样显示图像

enter image description here

+0

[''Graphics.DrawLine()'](http://msdn.microsoft.com/en-us/library/zd7xsffw.aspx) – 2012-08-02 06:34:24

+1

哪种语言? .Net还是经典的vb? – 2012-08-04 17:34:53

回答

2

下面的代码绘制使用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 

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

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

+0

它工作正常.. :-) – 2012-08-16 08:19:38

+1

不客气.. :) – 2012-08-16 17:47:40

+0

@AkhileshBChandran我如何绘制1px间距的网格线? – Amir 2012-12-10 21:08:32