تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] كيفية رسم النقاط بالفجوال
#1
Shocked 
السلام عليكم
اريد ان ارسم مجموعة من النقاط بالفجوال كالتالي

 For i = 1 To 10

            Points = New PointF() {New PointF(i * 5, i * 3)}
            Plot.DataPoints = New PointF() {Add(Points(i).X, Points(i).Y)}
        Next
الرد }}}
تم الشكر بواسطة:
#2
لكي نرسم نقاط عند الضغط بالزر الايسر للفارة على الفورم (كانك تكتب بالقلم)
استخدم الكود التالي:

كود :
Imports System.Drawing.Drawing2D

Public Class Form1

    Private Sub Form1_MouseMove(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove
        If e.Button = Windows.Forms.MouseButtons.Left Then
            Dim g As Graphics = CreateGraphics()
            Dim e1 As New PaintEventArgs(g, New Rectangle)
            AddLinesExample(e1, e.Location)
        End If
    End Sub

    Dim myPointArray As New List(Of Point)
    Public Sub AddLinesExample(ByVal e As PaintEventArgs, epos As Point)

        'Create a symetrical triangle using an array of points.
        myPointArray.Add(New Point(epos))
        Dim myPath As New GraphicsPath
        myPath.AddLines(myPointArray.ToArray)

        ' Draw the path to the screen.
        Dim myPen As New Pen(Color.Black, 2)
        e.Graphics.DrawPath(myPen, myPath)
    End Sub

End Class

الرد }}}
#3
(15-08-22, 08:22 PM)شكرامعاند الحظ كتب : لكي نرسم نقاط عند الضغط بالزر الايسر للفارة على الفورم (كانك تكتب بالقلم)
استخدم الكود التالي:

كود :
Imports System.Drawing.Drawing2D

Public Class Form1

    Private Sub Form1_MouseMove(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove
        If e.Button = Windows.Forms.MouseButtons.Left Then
            Dim g As Graphics = CreateGraphics()
            Dim e1 As New PaintEventArgs(g, New Rectangle)
            AddLinesExample(e1, e.Location)
        End If
    End Sub

    Dim myPointArray As New List(Of Point)
    Public Sub AddLinesExample(ByVal e As PaintEventArgs, epos As Point)

        'Create a symetrical triangle using an array of points.
        myPointArray.Add(New Point(epos))
        Dim myPath As New GraphicsPath
        myPath.AddLines(myPointArray.ToArray)

        ' Draw the path to the screen.
        Dim myPen As New Pen(Color.Black, 2)
        e.Graphics.DrawPath(myPen, myPath)
    End Sub

End Class



لكنني اريد رسمها بلاحداثيات
الرد }}}
تم الشكر بواسطة: asmarsou , asmarsou , سعود
#4
(16-08-22, 02:59 AM)NABIL40W كتب :
(15-08-22, 08:22 PM)شكرامعاند الحظ كتب : لكي نرسم نقاط عند الضغط بالزر الايسر للفارة على الفورم (كانك تكتب بالقلم)
استخدم الكود التالي:

كود :
Imports System.Drawing.Drawing2D

Public Class Form1

    Private Sub Form1_MouseMove(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove
        If e.Button = Windows.Forms.MouseButtons.Left Then
            Dim g As Graphics = CreateGraphics()
            Dim e1 As New PaintEventArgs(g, New Rectangle)
            AddLinesExample(e1, e.Location)
        End If
    End Sub

    Dim myPointArray As New List(Of Point)
    Public Sub AddLinesExample(ByVal e As PaintEventArgs, epos As Point)

        'Create a symetrical triangle using an array of points.
        myPointArray.Add(New Point(epos))
        Dim myPath As New GraphicsPath
        myPath.AddLines(myPointArray.ToArray)

        ' Draw the path to the screen.
        Dim myPen As New Pen(Color.Black, 2)
        e.Graphics.DrawPath(myPen, myPath)
    End Sub

End Class



لكنني اريد رسمها بلاحداثيات
طالع الموضوع التالي
http://vb4arb.com/vb/thread-4936.html
الرد }}}
تم الشكر بواسطة: سعود
#5
لا مشكلة يا اخي هذا الكود ليس حصرا على الحدث MouseMove يمكنك استخدامه اينما تريد
ولتتوضيح اكثر ، لكي ترسم تحتاج اولا الى استيراد فضاء الاسماء System.Drawing

باستخدام هذا الكود 
كود :
Imports System.Drawing.Drawing2D


ثم تحتاج الى محرك رسوميات Graphic لانه المسؤول عن انشاء الرسومات

ويمكنك اضافته الى اسطر الكود كالاتي
كود :
Dim gr As Graphics= CreateGraphics()




ثم في حالتك التي تريدها وهي رسم نقاط تحتاج الى مسار رسومات Graphics.Path وهو المسؤول عن حفظ 
النقاط التي تريد رسمها مع احداثياتها ويتم الاعلان عنه كالتالي
كود :
Dim myPath As New GraphicsPath

الان بقي ان تعلن عن مصفوفة نقاط لكي تحفظ فيها معلومات واحداثيات النقاط
اعلن عنها كالتالي
كود :
Dim myPointArray As New List(Of Point)

الان بقي ان تعبىء مصفوفة النقاط بالنقاط
انا استخدمت احداثيات مؤشر الفارة عندما تتحرك على النافذة وقمت بتمريرها على التوالي الى myPath 
هنا انت تحتاج الى تعبئة مصفوفة النقاط بالطريقة التي تريدها وبعد ان تكمل تعبئة كل النقاط التي تريدها اطلب من محرك الرسومات

ان ينفذ الرسم (الكود)
كود :
  Dim myPen As New Pen(Color.Black, 2)

        e.Graphics.DrawPath(myPen, myPath)

هذا كل المطلوب لرسم نقاط بالطريقة التي ذكرتها

الرد }}}
تم الشكر بواسطة: asmarsou


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  كيفية منع ظهور الأخطاء من إعدادات البيسيك mmaalmesry 2 849 29-08-25, 10:30 AM
آخر رد: mmaalmesry
  كيفية جلب أسماء الأعمدة بجدول من جداول sql heem1986 2 746 17-08-25, 09:15 PM
آخر رد: heem1986
  كيفية حفظ إعدادات البرنامج بحيث لا تتغير أحمد إبراهيم سعد 4 3,004 06-08-25, 06:34 PM
آخر رد: Taha Okla
  مساعدة في كيفية ترحيل البيانات من داتا قريدفيو إلى داتا قريدفيو في فيجوال بيسك ahmedfa71 13 2,225 09-07-25, 11:24 PM
آخر رد: أبو خالد الشكري
  كيفية احتساب الفرق بين تاريخين بناء على عدد معين مصمم هاوي 2 554 15-01-25, 02:02 PM
آخر رد: مصمم هاوي
  كيفية التعامل مع inputbox في فيجوال ستوديو أسامة حسين 4 3,506 14-01-25, 02:04 AM
آخر رد: أبو خالد الشكري
  كيفية معرفة الجهاز رئيسي ام فرعي المتألق9 1 397 13-11-24, 06:41 PM
آخر رد: justforit
  كيفية معرفة تاريخ انشاء ملف وحدفه المتألق9 2 505 07-11-24, 08:54 AM
آخر رد: F.H.M
  كيفية جلب بيانات بشرط الأستبعاد heem1986 1 334 28-08-24, 10:06 PM
آخر رد: justforit
  سؤال عن كيفية حفظ التغير في الداتا قريد فيو في قاعدة الببانات saud1004 4 526 20-06-24, 12:48 PM
آخر رد: saud1004

التنقل السريع :


يقوم بقرائة الموضوع: