* Иногда переводится как пиксел (или пиксель). В растровой графике - минимальная единица изображения, цвет и яркость которой можно задать индивидуально, независимо от других точек ростра; прим. переводчика.

Этот массив является свойством самого полотна и вы можете присваивать ему и читать из него точно так, как вы бы делали это с любым двумерным массивом в Pascal. Левое измерение является значением х, а правое измерение значением у. Синтаксис для чтения и установки значений в массиве Pixels в значительной мере тот, что вы и ожидали:

var TestColor : TColor Х,У : Integer ;
Canvas.Pixels[X,У] := clWhite; TestColor := Canvas.Pixels[X,Y];

Здесь нет различия между цветом переднего плана и цветом фона. Массив Pixel является просто массивом цветных точек. Когда вы создаете экземляр формы, все точки в его массиве Pixel будут установлены на фиксрованный для формы цвет в его свойстве Color, с которым вы уже встречались в Object Inspector. Вы можете изменить все их на другой цвет - или во время проектирования, или при выполнении, просто присвоив один из других, допустимых для TColor, значений свойств Color.

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

РИСОВАНИЕ ЛИНИИ
Рисовальные линии на полотне в Delphi сделаны почти так же, как они сделаны в Графическом Интерфейсе (Borland Graphics Interfase - BGI) в более ранних версиях Turbo и Borland Pascal. Увы, здесь присутствует определенная борьба жаргонов. То, что в BGI называли текущим указателем, в Delphi называется позиция пера. Слово "перо" больше связано с системой обозначения Windows, так как Windows сам определяет логические объекты, называемые перьями, которые используются для рисования. О позиции пера следует думать как о том, где сейчас находится невидимое перо; когда вы рисуете линию, позиция пера будет на правом краю линии.

Когда вы создаете экземпляр формы, позиция пера принимается по умолчанию как 0,0, что является верхним левым углом полотна. Когда вы что-то рисуете, позиция пера движется по полотну. Вы не можете видеть позицию непосредствнно, но вы можете запросить об этом через свойство TCanvas. PenPos. Рассматривайте PenPos только для чтения, не пытайтесь передвигать позицию пера посредством ее ввода! (Для этого существует MoveTo.)

Как и в BGI, линии рисуются с помощью подпрограмм MoveTo и IineTo. Подпрограмма Move То размещает позицию пера в каком-то месте на полотне. Подпрограмма LineTo рисует линии от позиции пера к координатам х и у, которые вы передаете как параметры - в line То. Об этом труднее рассказать, чем показать, поэтому давайте просто приступим к этому.

Делаем большое X

Этот проект рисует большую букву X с LineTo и MoveTo В процессе этого вы увидите как работает графика полотна во взаимосвязи полотна форм с любыми элементами управления, которые вы смогли разместить на ней.

Начнем новый проект с пустой формы. Опустите кнопку на форму; хотя это не имеет значения где, посмотрите, сможете ли вы поместить ее в центре формы. Для чего это нужно я скоро вам объясню. Для события ОпСНск кнопки установите следующую процедуру


⇐ Предыдущая страница| |Следующая страница ⇒

Программирование в среде Delphi



Новости за месяц

  • Декабрь
    2021
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31