The easy way out would be to draw an image of the crosshair's outline and then center it on the screen and render black pixels all around it. Something like:
(pseudocode because I don't know .net)
Code: Select all
load image of crosshair; (put black around it in a square and use white for transparencies!)
load image of one black pixel;
crosshairX = (XRes / 2) - (half width of crosshair);
crosshairY = (YRes / 2) - (half height of crosshair);
then in the draw loop
if (scope == true)
{
draw(crosshair, (crosshairX,crosshairY));
draw(black, (0,0), rect<s32>(0,0,height of crosshair, YRes)
//^^Repeat above until all four sides are covered
}
The problem with this method is that the crosshair will appear smaller on higher resolutions.
You could also have an image for every supported resolution...