1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42:
| private Bitmap DrawUnit(Bitmap img, Color UnitColor, float XPos, float YPos, float Rotation, string strName) { Graphics G = Graphics.FromImage(img);
G.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
SolidBrush RadarBrush = new SolidBrush(Color.White); Pen RadarPen = new Pen(UnitColor, 2F);
Rotation = RadianToDegree(Rotation);
G.ResetTransform(); G.TranslateTransform(-XPos, -YPos, System.Drawing.Drawing2D.MatrixOrder.Append); try { G.RotateTransform(-Rotation, System.Drawing.Drawing2D.MatrixOrder.Append); } catch (ArgumentException) { } G.TranslateTransform(XPos, YPos, System.Drawing.Drawing2D.MatrixOrder.Append); try { G.FillEllipse(RadarBrush, XPos - 5 / 2, YPos - 5 / 2, 5, 5); G.DrawEllipse(RadarPen, XPos - 5 / 2, YPos - 5 / 2, 5, 5); G.DrawLine(RadarPen, XPos - 5, YPos + 2, XPos, YPos - 8); G.DrawLine(RadarPen, XPos + 5, YPos + 2, XPos, YPos - 8); G.DrawLine(RadarPen, XPos, YPos - 2, XPos, YPos - 8); DrawText(img, strName, Convert.ToInt32(XPos) - Convert.ToInt32((strName.Length) * 2.5), Convert.ToInt32(YPos) + 8); } catch (Exception ex) {
}
G.Dispose(); RadarBrush.Dispose(); RadarPen.Dispose();
return img;
} |