Работа с экраном в Delphi

Категория: Учебники по Delphi » Быстрый старт в Delphi

Работа с экраном в DelphiНе знаю, зачем, но очень часто меня спрашивают о том, как получить доступ к экрану. Такие люди хотят скопировать содержимое экрана в виде картинки и потом использовать это по своему усмотрению. Так как такой вопрос появляется не ред­ко, то решено рассмотреть здесь пример его решения. В любом случае пример ин­тересен и полезен в познавательных целях.

 

Создайте новый проект и разместите на форме две кнопки TButton и один Timage. 

 

Рисование на стандартных Delphi компонентах

Категория: Учебники по Delphi » Быстрый старт в Delphi

Рисование на стандартных Delphi компонентах

Очень часто для лучшего представления данных нужно рисовать внутри ком­понента TListBox. Что здесь имеется в виду? Посмотрите на рис., и вы все поймете.

Для создания этого примера нам понадобится на форме компонент TListBox. В его свойстве items нуж­но создать 8 строк, в качестве заголовков для которых будут выступать числа от 1 до 8. Почему именно эти числа? Да потому, что существует 8 стилей кисти, и у нас будет в списке 8 элементов с изображением каждого стиля.

 

 

Компонент работы с графическими файлами (Timage)

Категория: Учебники по Delphi » Быстрый старт в Delphi

Компонент работы с графическими файлами (Timage)Этот компонент вы можете найти на вкладке Additional палитры компонентов. Тогда же не затрагивались другие его возможности, потому что вы еще не бы­ли готовы познакомиться с графикой. Сейчас, когда мы рассмотрели все необхо­димое, пора разобрать этот компонент по свойствам и методам.

 

Компонент Timage достаточно универсальный и может отображать картинки разного формата. Но в начальной установке он может загружать только файлы форматов BMP, JPG, JPEG или WMF. Давайте посмотрим, как это делается. Соз­дайте новое приложение и установите на форму одну кнопку и компонент Timage с вкладки Additional.

 

Методы объекта Delphi TCanvas: Pixels

Категория: Учебники по Delphi » Быстрый старт в Delphi

Pixels

Свойство Pixels— двумерный массив, указывающий на битовую матрицу изображения. Что это значит? Проще всего показать. Допустим, что вам нужно поставить точку черного цвета в координатах (10, 10). Для этого вы пишете сле­дующий код:

Canvas.Pixels[10,10]:=Black;

С помощью этого же свойства можно узнать цвет в какой-либо точке. Например:

 

var с:TColor;

begin

с:=Canvas.Pixels[10,10]; if c=clBlack then

//Точка с координатами (10, 10) черного цвета

End;

 

Как видите, свойство pixels — это самый настоящий двумерный массив из цве­тов точек нашего изображения. Вы легко можете получить доступ к любому пиксе­лу картинки, прочитать его или изменить. Только не думайте, что так можно по­символьно строить целые изображения. Доступ к массиву слишком медленный, и после каждого изменения цвета любого пиксела картинка будет прорисовывать­ся, а при обновлении всей картинки таким способом рисование будет происходить слишком долго.

 

Работа с цветом в Delphi

Категория: Учебники по Delphi » Быстрый старт в Delphi

Работа с цветом в DelphiМы уже научились менять цвет и даже в предыдущей части узнали, что кон­станта ciBiack равна черному цвету, a ciRed— красному. Но есть еще много кон­стант, которые определяют стандартные цвета для более удобного их использова­ния. Вот именно с ними нам предстоит сейчас познакомиться и узнать, как хранится цвет в памяти машины.

Цвет хранится в виде типа TColor. Хотя в названии типа в начале стоит буква т, этот тип не объектный, а просто число из четырех байт, но реально нас будут инте­ресовать только последние три.

 

Вы, наверное, должны знать, что в компьютерной графике цвет представляется тремя составляющими: красным, зеленым, голубым (RGB— Red, Green, Blue). В разных пропорциях из этих трех базовых цветов можно получить любой другой. Например, если взять красного и зеленого по максимуму, а синего вообще не брать, то получится желтый цвет.

Каждый из цветов представляется в виде одного байта, так что для хранения трех цветов достаточно 3 байтов. Но зачем же тогда для TColor выделено 4 байта? Это сделано потому, что в компьютере регистры четные и могут хранить только 1 или 2, или 4 байта. Так что у переменной цвета один байт избыточен (первый) и чаще всего он равен нулю. В дальнейшем он может быть использован для обо­значения прозрачности или других целей на усмотрение разработчика.

 

Конечно же, программисты могли поместить в 6 байт две точки цвета (3 + 3), но этого не стали делать для будущего использования 32-битного цвета. Сейчас же более распространены 24-битные градации.

 

 

 
Назад Вперед