Просматривая некоторые репозитории исходного кода в Github, я заметил, что курсор можно нарисовать, используя растровый файл (.bmp). Мне интересно, как это достижимо.
Я знаю один способ нарисовать курсор, но он требует слишком много строк:
// Points for the mouse to be drawn.
Sys.Graphics.Point[] points = new Sys.Graphics.Point[]
{
new((int)MouseManager.X, (int)MouseManager.Y),
new((int)MouseManager.X +1, (int)MouseManager.Y -1),
new((int)MouseManager.X +2, (int)MouseManager.Y -2),
new((int)MouseManager.X -1, (int)MouseManager.Y +1),
new((int)MouseManager.X -2, (int)MouseManager.Y +2),
new((int)MouseManager.X -2, (int)MouseManager.Y +1),
new((int)MouseManager.X +1, (int)MouseManager.Y -2),
new((int)MouseManager.X -1, (int)MouseManager.Y),
new((int)MouseManager.X -2, (int)MouseManager.Y),
new((int)MouseManager.X, (int)MouseManager.Y -1),
new((int)MouseManager.X, (int)MouseManager.Y -2),
new((int)MouseManager.X -1, (int)MouseManager.Y -1),
new((int)MouseManager.X -1, (int)MouseManager.Y -2),
new((int)MouseManager.X -2, (int)MouseManager.Y -1),
new((int)MouseManager.X -2, (int)MouseManager.Y -2),
// Cursor Tail
new((int)MouseManager.X +1, (int)MouseManager.Y +1),
new((int)MouseManager.X +2, (int)MouseManager.Y +2),
new((int)MouseManager.X +3, (int)MouseManager.Y +3),
new((int)MouseManager.X +4, (int)MouseManager.Y +4),
new((int)MouseManager.X, (int)MouseManager.Y +1),
new((int)MouseManager.X +1, (int)MouseManager.Y),
new((int)MouseManager.X +1, (int)MouseManager.Y +2),
new((int)MouseManager.X +2, (int)MouseManager.Y +1),
new((int)MouseManager.X +3, (int)MouseManager.Y +2),
new((int)MouseManager.X +2, (int)MouseManager.Y +3),
new((int)MouseManager.X +4, (int)MouseManager.Y +3),
new((int)MouseManager.X +3, (int)MouseManager.Y +4),
};
Подробнее здесь: https://stackoverflow.com/questions/787 ... g-a-bitmap