phongka
Member
muốn vẽ 1 đường cong đi qua 2 điểm gốc tọa độ (curveto) em đã search rất nhiều thông tin trên diễn đàn nhưng không được kết quả như mong muốn... và đây là kết quả của em.. nó rất tệ...vậy Tôi hy vọng sẽ giúp được..cảm ơn bạn
Ví dụ:
Sub Test_Vevoibrush(bc Là BitmapCreator)
Dim g1 As Int = 20dip
Dim g2 As Int = 30dip
Dim p As BCPath
p.Initialize(g1, 0).LineTo(bc.mWidth - g2 , 0)
Hotro_PathCurveTo(p, bc.mWidth - g2 , 0, bc.mWidth, g2)
p.LineTo (bc.mWidth, bc.mHeight)
'P.
bc.DrawPath(p, Colors.Red, True, 10dip)
kết thúc phụ
Sub Hotro_PathCurveTo (Path1 dưới dạng BCPath, tdX_1 dưới dạng float, tdY_1 dưới dạng float, TargetX dưới dạng float, TargetY dưới dạng float)
'tdX_1, tdY_1: start point
Dim LastPoint As InternalBCPathPointData = Path1.Points.Get(Path1.Points.Size - 1)
Dim CurrentX As Float = LastPoint.X
Dim Currenty As Float = LastPoint.Y
Dim NumberOfSteps As Int = 15' <--- thay đổi khi cần thiết
Dim dt As Float = 1 / NumberOfSteps
Dim t As Float = dt
Đối với i = 1 đến NumberOfSteps
Dim tt1 Khi Float = (1 - t) * (1 - t)
Dim tt2 As Float = 2 * (1 - t) * t
Dim tt3 Như Phao = t*t
Dim x As Float = tt1 * CurrentX + tt2 * tdX_1 + tt3 * TargetX
Dim y As Float = tt1 * Hiện tại + tt2 * tdX_1 + tt3 * TargetY
Đường dẫn1.LineTo(x, y)
t = t + dt
Kế tiếp
kết thúc phụ
[/MÃ SỐ]