السلام عليكم
تفضل هذا الكود بعد وضع الصورتين التي في المرفقات ضعها في الريسورس Resources
هذه النتيجة
تفضل هذا الكود بعد وضع الصورتين التي في المرفقات ضعها في الريسورس Resources
كود :
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
PictureBox1.Image = GetQiblahCompass(123)
PictureBox1.SizeMode = PictureBoxSizeMode.Zoom
End Sub
Function GetQiblahCompass(angle As Integer) As Image
Using b As New Bitmap(My.Resources.Compass.Width, My.Resources.Compass.Height)
Using g As Graphics = Graphics.FromImage(b)
g.SmoothingMode = Drawing2D.SmoothingMode.HighQuality
Dim c As New Point((b.Width / 2), (b.Height / 2))
g.DrawImage(My.Resources.Compass, New Rectangle(0, 0, b.Width, b.Height))
Dim x As Double = (c.X - 110) * Math.Cos(Math.PI * (angle - 90) / 180.0) + c.X
Dim y As Double = (c.Y - 110) * Math.Sin(Math.PI * (angle - 90) / 180.0) + c.Y
Dim p As New Pen(Color.FromArgb(180, Color.Brown), 48)
p.EndCap = Drawing2D.LineCap.ArrowAnchor
g.DrawLine(p, New Point(c.X, c.Y), New Point(x, y))
g.DrawImage(My.Resources.kaba, New Rectangle(c.X - 64, c.Y - 64, 128, 128))
Return b.Clone
End Using
End Using
End Functionهذه النتيجة


