Alıntı:
Visual Basic de belirtilen x1 ve y1 koordinatlarından x2 ve y2 koordinatlarına ok cizen fonksiyon.
Ok Cizme İşlemi
Bu işlemi daha basit bir yontemle yapan api veya fonksiyon var mı? Internette bulamadım. Bu sebeple, bu işlemin nasıl yapıldığına dair bir fonksiyon yazdım. Bunu da sizlerle paylaşmak istedim. Fonksiyonda Line komutunu kullandım fakat siz, aynı işlemi yapan apileri kullanabilirsiniz.
Bu fonksiyon, yazdığım bir cizim programının bir parcasıdır. Uygulamayı tamamladığımda sizlerle paylaşacağım.
Kullanımı
Basit olarak yeni bir proje acın ve formunuzun ScaleMode ozelliğini pixel olarak, AutoRedraw ozelliğini ise True yapın ayarlayın. Aşağıdaki fonksiyonu formunuza ekleyin.
Orn: Uygulama icinde;
DrawArrow 0, 0, 100, 150
şeklinde değerleri belirleyerek kullanabilirsiniz.
Private Sub DrawArrow(ByVal nX1 As Long, ByVal nY1 As Long, ByVal nX2 As Long, ByVal nY2 As Long, Optional ByVal nColor As OLE_COLOR)
Dim nRadius As Long, i As Long, n1 As Long, n2 As Long
Dim nAngle As Long, dAngle As Double, dTan As Double
Dim nLen As Long, nW1 As Long, nH1 As Long
nRadius = 10
nW1 = nX1 - nX2
nH1 = nY1 - nY2
nLen = Sqr(nW1 ^ 2 + nH1 ^ 2)
If nLen > 1.5 * nRadius Then
dTan = (nH1 + 0.00001) / (nW1 + 0.00001)
nAngle = Atn(dTan) * 180 / PI
If nX1 >= nX2 Then nAngle = nAngle + 180
For i = -20 To 20
dAngle = (nAngle + i + 180) * PI / 180
n1 = Cos(dAngle) * nRadius + nX2
n2 = Sin(dAngle) * nRadius + nY2
Me.Line (nX2, nY2)-(n1, n2), nColor
Next i
End If
Me.Line (nX1, nY1)-(nX2, nY2), nColor
End Sub
İyi calışmalar...
Saygılar..
__________________
Ok(Arrow) Cizim İşlemi
Programlama0 Mesaj
●27 Görüntüleme
- ReadBull.net
- Programlama ve Yazılım
- Programlama
- Ok(Arrow) Cizim İşlemi