Мой клиент попросил меня сделать кнопку в его пользовательской форме и, при нажатии, инвертировать цвет всего рабочего стола (например, настройки доступности).Я попытался выяснить, существует ли какой-то конкретный метод для этого, но, к сожалению, я не нашел ничего нативного.
Поэтому я пытаюсь инвертировать цвет всех пикселей рабочего стола с помощью кнопки в пользовательскую форму.Я не пытаюсь инвертировать цвет растрового изображения, но все цвета экрана я не знаю, как мне поступить, так как это первый раз, когда кто-то спрашивает меня о такой функции
Я управляючтобы получить все пиксели экрана, используя этот фрагмент:
int height = SystemInformation.VirtualScreen.Height
int width = SystemInformation.VirtualScreen.Width
for(int y = 0; y<height; y++)
{
for(int x = 0; x<width; x++)
{
//What am i supposed to code here to get all pixel color and invert them?
}
}
Но здесь я не знаю, что я могу сделать, чтобы получить цвет и изменить его на негативные?Я видел вокруг учебник, объясняющий, как делать с растровым изображением, но здесь все экран / рабочий стол должен переключаться на негативные цвета.
Есть идеи, как мне это сделать?Есть ли функция, которую я могу overide или что-то?Как я уже сказал, это первый раз, когда кто-то спрашивает меня о чем-то подобном, и я абсолютно не знаю, как я могу это сделать.