PDA

View Full Version : سوال: رسم نقطه در picturebox



aagghh
پنج شنبه 26 مرداد 1391, 01:14 صبح
سلام دوستان
چجوری میتونم توی یه جای دلخواه از pictureBox یک نقطه رسم کنم؟
ممنون از راهنمایی تون

the king
پنج شنبه 26 مرداد 1391, 01:26 صبح
سلام دوستان
چجوری میتونم توی یه جای دلخواه از pictureBox یک نقطه رسم کنم؟
ممنون از راهنمایی تون

اگر می خواهید نقظه ای که در مختصات (20,50) به رنگ آبی رسم می کنید داخل رخداد Paint باشه :

Private Sub PictureBox1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles PictureBox1.Paint
Dim pixel As New Bitmap(1, 1)
pixel.SetPixel(0, 0, Color.Blue)
e.Graphics.DrawImageUnscaled(pixel, 20, 50)
End Sub

Saman_12
پنج شنبه 26 مرداد 1391, 01:44 صبح
همین طور میشه با این تابع این کار رو کرد :


Private Sub SetPixel(Ctrl As Control, p As Point, color As Color, Optional pixelw As Int32 = 1)

Using g As Graphics = Ctrl.CreateGraphics
Using Brush As New SolidBrush(color)

g.FillRectangle(Brush, New Rectangle(p, New Size(pixelw, pixelw)))
End Using
End Using
End Sub

aagghh
پنج شنبه 26 مرداد 1391, 21:42 عصر
اگر می خواهید نقظه ای که در مختصات (20,50) به رنگ آبی رسم می کنید داخل رخداد Paint باشه :

Private Sub PictureBox1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles PictureBox1.Paint
Dim pixel As New Bitmap(1, 1)
pixel.SetPixel(0, 0, Color.Blue)
e.Graphics.DrawImageUnscaled(pixel, 20, 50)
End Sub



از راهنمایی تون ممنونم
از کدتون استفاده کردم جواب داد
ولی اگه بخوام در لحظه اجرای برنامه چند نقطه رو تو مکانهای مختلف بزارم چی؟

aagghh
پنج شنبه 26 مرداد 1391, 21:43 عصر
همین طور میشه با این تابع این کار رو کرد :


Private Sub SetPixel(Ctrl As Control, p As Point, color As Color, Optional pixelw As Int32 = 1)

Using g As Graphics = Ctrl.CreateGraphics
Using Brush As New SolidBrush(color)

g.FillRectangle(Brush, New Rectangle(p, New Size(pixelw, pixelw)))
End Using
End Using
End Sub



مرسی از راهنمایی تون
بجای p باید چی قرار بدم؟

Saman_12
پنج شنبه 26 مرداد 1391, 23:58 عصر
مرسی از راهنمایی تون
بجای p باید چی قرار بدم؟

p همون point مورد نظره :

SetPixel(Me, New Point(30, 15), Color.DeepSkyBlue)