我想在picturebox上显示图像,并且我想在picturebox上显示网格。所以,如果我放大图像,那么我可以很容易地识别出picturebox上的像素大小。任何一个都可以帮助我做到这一点?例如。如何在图片框控件上显示网格?
图像上的PictureBox
这正常显示,但我想在PictureBox中这样显示图像
我想在picturebox上显示图像,并且我想在picturebox上显示网格。所以,如果我放大图像,那么我可以很容易地识别出picturebox上的像素大小。任何一个都可以帮助我做到这一点?例如。如何在图片框控件上显示网格?
图像上的PictureBox
这正常显示,但我想在PictureBox中这样显示图像
下面的代码绘制使用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编码和测试。 祝你好运...
它工作正常.. :-) – 2012-08-16 08:19:38
不客气.. :) – 2012-08-16 17:47:40
@AkhileshBChandran我如何绘制1px间距的网格线? – Amir 2012-12-10 21:08:32
[''Graphics.DrawLine()'](http://msdn.microsoft.com/en-us/library/zd7xsffw.aspx) – 2012-08-02 06:34:24
哪种语言? .Net还是经典的vb? – 2012-08-04 17:34:53