Как получить все пиксельные цвета рабочего стола и инвертировать (отрицательные) их - PullRequest
0 голосов
/ 29 января 2019

Мой клиент попросил меня сделать кнопку в его пользовательской форме и, при нажатии, инвертировать цвет всего рабочего стола (например, настройки доступности).Я попытался выяснить, существует ли какой-то конкретный метод для этого, но, к сожалению, я не нашел ничего нативного.

Поэтому я пытаюсь инвертировать цвет всех пикселей рабочего стола с помощью кнопки в пользовательскую форму.Я не пытаюсь инвертировать цвет растрового изображения, но все цвета экрана я не знаю, как мне поступить, так как это первый раз, когда кто-то спрашивает меня о такой функции

Я управляючтобы получить все пиксели экрана, используя этот фрагмент:

        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 или что-то?Как я уже сказал, это первый раз, когда кто-то спрашивает меня о чем-то подобном, и я абсолютно не знаю, как я могу это сделать.

...