Вкладка RX Tools. Компонент TPicClip

   
На этом шаге мы рассмотрим компонент TPicClip.

   
Компонент TPicClip представляет собой аналог PICCLIP.VBX, поставляемого вместе с Visual Basic. TPicClip
позволяет получить доступ к прямоугольному элементу изображения, предварительно разделенного на "ячейки", и затем
использовать этот элемент при присвоении графическим свойствам других компонент или для рисования.

   
Разделение изображения на прямоугольные "ячейки" достигается за счет присвоения значений свойствам Cols
(число колонок) и Rows (число строк). После этого любой элемент
изображения доступен как объект класса TBitmap через индексированное свойство GraphicCell[Index: Integer].

   
Отрисовка ячейки изображения может быть осуществлена методом Draw. При этом, если свойство Masked =
True (по умолчанию), то цвет, заданный свойством MaskColor будет заменяться на цвет
фона ("прозрачная" отрисовка изображения). Вы можете использовать метод Assign для занесения изображения
в компонент TPicClip, используя в качестве параметра Source объекты классов TPicture и TGraphic.

   
Также вы можете использовать TPicClip в качестве параметра Source метода Assign компонент
классов TPicture, TGraphic и (в 32-битной версии) TImageList.

Таблица 1. Свойства и методы компонента TPicClip

СвойствоОписание
property Cols: Integer;Свойство задает число колонок в сетке, определяющей разбивку графического изображения на условные "ячейки",
доступ к которым осуществляется с помощью индексированного свойства GraphicCell.
property Rows: Integer;Свойство задает число строк в сетке, определяющей разбивку графического изображения на условные "ячейки",
доступ к которым осуществляется с помощью индексированного свойства GraphicCell.
property GraphicCell[Index: Integer]: TBitmap;Свойство "только-для-чтения", позволяет получить доступ к любой "ячейке" изображения по номеру этой ячейки.
Нумерация ячеек непрерывная от 0 до (Cols * Rows) - 1, слева направо и сверху вниз.
property Masked: Boolean;Если свойство Masked = True (по умолчанию), то цвет, заданный свойством MaskColor будет заменяться на цвет
фона ("прозрачная" отрисовка изображения) при рисовании ячейки изображения методом Draw.
property MaskColor: TColor;Цвет, заменяемый цветом фона, в случае когда свойство Masked = True.
procedure Draw(Canvas: TCanvas; X, Y, Index: Integer);Метод служит для отрисовки ячейки изображения, соответствующей индексу Index, в
устройстве Canvas. Координаты X, Y задают точку для верхнего левого угла изображения.

   
Рассмотрим пример использования компонента TPicClip. Поместим на форму компоненты: TPicClip,
TImage и девять кнопок TButton (рис. 1).


Рис.1. Форма с размещенными компонентами

   
Для компонента TPicClip, с помощью свойства Picture, загружаем изображение. Изменяем значения
свойств Cols = 3 и Rows = 3. Тем самым разбивая наше изображение на девять частей. Для каждой
кнопки TButton напишем обработчик события OnClick:

procedure TForm1.Button1Click(Sender: TObject);
begin
     Form1.PicClip1.Draw(Image1.Canvas,0,0,0);
     Image1.Invalidate;
end;

   
При нажатии на кнопку, происходит отрисовка части нашего изображения, соответствующей индексу, указанному четвертым
параметром в методе Draw, в позицию X,Y (второй и третий параметры) на компоненте TImage (первый параметр).
После чего происходит перерисовка содержимого Image1 методом Invalidate.

   
Запустим наше приложение и нажмем на кнопки: 1, 3, 5, 7, 9 (рис. 2).


Рис.2. Работа приложения

Текст этого примера можно взять здесь.

   
На следующем шаге мы рассмотрим компоненты TFormStorage и TFormPlacement.



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий