Исходники.Ру - Программирование
Исходники
Статьи
Книги и учебники
Скрипты
Новости RSS
Магазин программиста

Ishodniki.Ru » Online книги » C++ Builder по шагам

Шаг 30 - TPen

По-русски будет перо. Немного о режимах проведения линий. Справка C++Builder выдает их так много, что задумываешься - зачем они все нужны? Но неважно, изучать, так изучать! Сначала о режимах наложения красок.

Любой цвет TColor представляет собой число - перечислимый тип. С числом возможны бинарные операции - and, or, not, xor, not xor и т.д. Так и здесь - смешивание основано на бинарных операциях, когда сравниваются попарно биты двух цветов.

Mode

  • pmCopy - без смешивания - цвет пера перекрывает фон.
  • pmNotCopy - инверсный (операция not) цвет пера перекрывает фон.
  • pmNot - цвет фона заменяется на инверсный.
  • pmXor - xor наложение. Из пары битов возвращается 1, если только один из битов равен 1.
  • pmNotXor - сначала проводится pmXor, а затем результирующий цвет подвергается not-операции.
  • pmMask - логическое and между цветом пера и фоном - возвращается 1, если оба бита равны 1. Приводит к затемнению.
  • pmNotMask - сначала pmMask, а затем pmNot.
  • pmMerge - логическое or между цветом пера и фоном - возвращает 1, если оба бита не равны 0. Приводит к осветлению.
  • pmNotMerge - инверсный pmMerge.
  • pmNop - без изменений.
  • pmBlack - всегда черный.
  • pmWhite - всегда белый.

Хочу особо отметить pmNotXor - очень полезный режим. Объясню почему. Допустим, нужно водить курсор особой формы. Но после него же след остается! В режиме pmNotXor при повторной прорисовке восстанавливается цвет фона. Правда, в таком режиме цвет курсора будет меняться в зависимости от фона.

Style

Я уже говорил - стиль линии. Чем тут пунктирный-штрихпунктирный говорить, лучше картинку с разными вариантами приведу:

gif/30_1.gif (1125 b)

Напомню, что при ширине больше 1 стили, кроме psInsideFrame, здесь не приведенного, не используются. У меня просто для удобства широкие. Фоновый белый цвет в данном случае - цвет кисти Brush.

Про psInsideFrame. Бывает так, что программа использует звет из палитры High Color, а у бедного юзера только 256 цветов :(. В этом случае при ширине больше 1 в этом стиле цвет сглаживается до наиболее подходящего. Легче, правда, юзеру порекомендовать видеокарту сменить :).

Со свойствами разобрались. В следующем Шаге будет TBrush - кисть.

Предыдущий шаг | Оглавление | Следующий шаг

Рассылка новостей
https://газон.москва фацелия пижмолистная все о сидерате фацелия.
Рейтинги
© 2007, Программирование Исходники.Ру