Простой ответ: битовые карты , на самом деле это также относится к шрифтам на терминалах в первые дни.
Оригинальные графические интерфейсы, такие как Alto GUI Xerox Parc были основаны на растровых изображениях, а графика была нарисована с помощью простых растровых инструментов рисования и графических библиотек, используя простую геометрию для определения форм, таких как круги, квадраты, прямоугольники и т. д., а затем сопоставить их для отображения пикселей.
Современные графические интерфейсы такие же, за исключением дополнительного программного и аппаратного обеспечения, которое ускорило и улучшило процесс и производительность этих графических интерфейсов.
Основное отображение битов, например От 10101010 до пикселей зависит от аппаратного обеспечения дисплея, но на упрощенном уровне вы бы обеспечили буфер отображения в памяти и просто заполнили его байты данными дисплея.
Итак, для базового монохромного растрового изображения вы должны нарисовать его, предоставив биты, представляющие форму, которую вы хотите нарисовать, вы можете либо расположить эти биты, например, простой кнопкой 8x8pix.
01111110
10000001
10000001
10111101
10111101
10000001
10000001
01111110
Что вы можете увидеть легче, если я отобразлю это с # и ПРОБЕЛОМ вместо 1 и 0.
######
# #
# #
# #### #
# #### #
# #
# #
######
Который как растровое изображение будет выглядеть следующим образом: http://i.stack.imgur.com/i7lVQ.png (я знаю, что он немного маловат :), но это тот масштаб, с которого мы начинали, когда GUI были впервые разработаны.)
Если бы у вас был более сложный (например, 24-битный цветной дисплей, вы бы предоставили каждый пиксель, используя 24-битное число.)
Очевидно, что некоторые растровые изображения не могут быть нарисованы вручную (например, граница окна), как мы это делали выше, это где геометрия пригодится, и мы можем использовать простые функции для определения значений пикселей, необходимых для рисования прямоугольник или любую другую простую фигуру, а затем строим оттуда.
Как только вы сможете рисовать таким образом графику на дисплее, вы подключаете цикл рисования к системному прерыванию, чтобы поддерживать отображение в актуальном состоянии (вы часто перерисовываете экран, в зависимости от производительности вашей системы.) Это как вы можете заставить его обрабатывать взаимодействие с пользовательскими устройствами, например мышь.
В первые годы, еще до того, как в Xerox Parc / Alto существовал ряд ранних компьютерных систем, которые имели векторные дисплеи, они создавали изображение путем рисования линий на ЭЛТ-представлении декартовой плоскости. Тем не менее, эти дисплеи никогда не видели массового использования, за исключением, возможно, в некоторых ранних видеоиграх, таких как Asteroids и Tempest.