I'm trying to draw a custom crosshair cursor.
This is my function to create the "cross cursor".
The problem is that it only draw the positive coordinates. So I get the half side of the cross.
So the red in this cross isn't visible when I draw it. A solution would be to make the cross all with positive coordinates but I don't want this.
Any solutions?
private Cursor crossCursor(System.Drawing.Pen pen, int x, int y)
{
var pic = new Bitmap(x, y);
var gr = Graphics.FromImage(pic);
//gr.Clip = new Region(new RectangleF(-x / 2, -y / 2, x, y));
var pathX = new GraphicsPath();
var pathY = new GraphicsPath();
pathY.AddLine(new Point(0, -y), new Point(0, y));
pathX.AddLine(new Point(-x, 0), new Point(x, 0));
gr.DrawPath(pen, pathX);
gr.DrawPath(pen, pathY);
var stream = new MemoryStream();
Icon.FromHandle(pic.GetHicon()).Save(stream);
// Convert saved file into .cur format
stream.Seek(2, SeekOrigin.Begin);
stream.WriteByte(2);
stream.Seek(10, SeekOrigin.Begin);
stream.Seek(0, SeekOrigin.Begin);
// Construct Cursor
return new Cursor(stream);
}