Code: Select all
Public Sub drawingarea1_Draw()
Dim cx As Integer = DrawingArea1.W / 2 'Horizontal Center
Dim cy As Integer = DrawingArea1.h / 2 'Vertical Center
With Paint
' The drawing area is 200 x 200 pixels
'-- Make Text --
.Brush = Paint.Color(&H00000000)
.Text("Drawing Area 1", cx, cy + 80, 000, 000, 3)
.fill
'-- Make Filled Area --
.Brush = Paint.Color(&H006666ff)
.MoveTo(CX, CY - 80)
.LineTo(cx + 10, cy)
.LineTo(cx, cy + 20)
.LineTo(cx - 10, cy)
.LineTo(cx, cy - 80)
.fill
' -- Make Outline --
.Brush = Paint.Color(&H00000000)
.MoveTo(CX, CY - 80)
.LineTo(cx + 10, cy)
.LineTo(cx, cy + 20)
.LineTo(cx - 10, cy)
.LineTo(cx, cy - 80)
.lineto(cx, cy + 20)
.stroke
' Finish the process
.end
End With
End
The issue is... HOW do I use it???
My thinking is that you would define your "stuff" in the drawing area and rotate it... like this...
Code: Select all
Public Sub drawingarea1_Draw()
Dim cx As Integer = DrawingArea1.W / 2 'Horizontal Center
Dim cy As Integer = DrawingArea1.h / 2 'Vertical Center
' -- Make Outline --
.Brush = Paint.Color(&H00000000)
.MoveTo(CX, CY - 80)
.LineTo(cx + 10, cy)
.LineTo(cx, cy + 20)
.LineTo(cx - 10, cy)
.LineTo(cx, cy - 80)
.lineto(cx, cy + 20)
.Rotate(Rad(45))
.stroke
' Finish the process
.end
End With
End
Can someone show me how to use this???Modifies the current transformation matrix (CTM) by rotating the user-space axes by angle radians. The rotation of the axes takes places after any existing transformation of user space. The rotation direction for positive angles is from the positive X axis toward the positive Y axis.
Angle : angle (in radians) by which the user-space axes will be rotated.
I mean for now, I'm using math that would be hard for my students to comprehend...
Code: Select all
'------------------------------------------------------------------------------------------
Public Sub Form_Open()
End
Public Sub DrawingArea1_Draw()
Dim cx As Integer = DrawingArea1.W / 2 'Horizontal Center
Dim cy As Integer = DrawingArea1.h / 2 'Vertical Center
Dim ca As Integer = Slider1.Value 'Active Angle Movement
Dim co As Integer = 0 'Angular Offset -> Adjust starting point
Dim x1 As Integer = 0 'X Draw Point
Dim y1 As Integer = 0 'Y Draw Point
With Paint
' The drawing area is 200 x 200 pixels
'-- Make Text --
.Brush = Paint.Color(&H00000000)
.Text("Angle: " & ca, cx, cy + 80, 000, 000, 3)
.fill
' -- Make Fill --
.Brush = Paint.Color(&H0066FF66)
x1 = Cos(Rad(ca - 90 - co)) * 80 + cx
y1 = Sin(Rad(ca - 90 - co)) * 80 + cy
.MoveTo(x1, y1)
x1 = Cos(Rad(ca - 0 - co)) * 10 + cx
y1 = Sin(Rad(ca - 0 - co)) * 10 + cy
.LineTo(x1, y1)
x1 = Cos(Rad(ca + 90 - co)) * 20 + cx
y1 = Sin(Rad(ca + 90 - co)) * 20 + cy
.LineTo(x1, y1)
x1 = Cos(Rad(ca + 180 - co)) * 10 + cx
y1 = Sin(Rad(ca + 180 - co)) * 10 + cy
.LineTo(x1, y1)
x1 = Cos(Rad(ca - 90 - co)) * 80 + cx
y1 = Sin(Rad(ca - 90 - co)) * 80 + cy
.LineTo(x1, y1)
' Center line - Not Required
.fill
' -- Make Outline --
.Brush = Paint.Color(&H00000000)
x1 = Cos(Rad(ca - 90 - co)) * 80 + cx
y1 = Sin(Rad(ca - 90 - co)) * 80 + cy
.MoveTo(x1, y1)
x1 = Cos(Rad(ca - 0 - co)) * 10 + cx
y1 = Sin(Rad(ca - 0 - co)) * 10 + cy
.LineTo(x1, y1)
x1 = Cos(Rad(ca + 90 - co)) * 20 + cx
y1 = Sin(Rad(ca + 90 - co)) * 20 + cy
.LineTo(x1, y1)
x1 = Cos(Rad(ca + 180 - co)) * 10 + cx
y1 = Sin(Rad(ca + 180 - co)) * 10 + cy
.LineTo(x1, y1)
x1 = Cos(Rad(ca - 90 - co)) * 80 + cx
y1 = Sin(Rad(ca - 90 - co)) * 80 + cy
.LineTo(x1, y1)
x1 = Cos(Rad(ca + 90 - co)) * 20 + cx
y1 = Sin(Rad(ca + 90 - co)) * 20 + cy
.LineTo(x1, y1)
.stroke
' Finish the process
.end
End With
End
Public Sub Slider1_Change()
drawingarea1.refresh
End