Picture.Rectangle

From SunFlurry wiki
Revision as of 08:39, 14 March 2020 by Admin (talk | contribs) (Created page with "{{infobox function |name=Rectangle |object=Картинка |caption=Изменение картинки |type=1 |status=2 |db=0 |exception=Невозможно превр...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
  Rectangle (Изменение картинки)
Объект:Картинка
Статус разработки: Реализована
Тип:Функция
Обращение к БД:Нет
Исключения:Невозможно превратить в число, неверные параметры.
Визуальность:Нет

Функция рисует прямоугольник с оптимизацией по скорости рисования. Прямоугольник может иметь обрамление (рамку) (по умолчанию не имеет), и может быть залит определенным цветом (по умолчанию заливка не производится). Также может задаваться ширина обрамления и коэффициент альфа. Функция поддерживает форматы картинки: BMP 8 (без альфа) и 32 бит (если картинка имеет другой формат, она будет преобразована в BMP 32-бит).

Синтаксис

Picture.Rectangle(<Координата X верхней левой точки (INT)>,<Координата Y верхней левой точки (INT)>,<Координата X нижней правой точки (INT)>,<Координата Y нижней правой точки (INT)>,<Цвет обрамления (INT)>=-1,<Цвет заливки (INT)>=-1,<Ширина обрамления (INT)>=1,<Коэффициент альфа-сопряжения (INT)>=1000)

Аргументы

  • <Координата X верхней левой точки (INT)>,<Координата Y верхней левой точки (INT)>,<Координата X нижней правой точки (INT)>,<Координата Y нижней правой точки (INT)> - Аргументы задают координаты прямоугольника.
  • <Цвет обрамления (INT)> (необязательный аргумент) Аргумент задает цвет обрамления (рамки) прямоугольника. Используется 24-битная нотация цвета. По умолчанию (-1) рамка не будет выведена. Также рамка будет отсутствовать, если ее ширина будет равна нулю.
  • <Цвет заливки (INT)> (необязательный аргумент) Аргумент задает цвет заливки (основной цвет) прямоугольника. Используется 24-битная нотация цвета. По умолчанию (-1) заливка не производится.
  • <Ширина обрамления (INT)> (необязательный аргумент) Аргумент задает ширину обрамления (рамки) прямоугольника. Если ширина равна нулю, обрамление не будет нарисовано.
  • <Коэффициент альфа-сопряжения (INT)> - (необязательный аргумент) Рисуемая картинка становится полупрозрачной, оставляя частично видимыми цвета, которые были под ней до ее рисования. Программа использует целочисленную нотация для указания коэффициента альфа. Сопряжение не используется при коэффициенте равном 1000 (по умолчанию), при 500 рисуемая картинка получает половину интенсивности, при 0, рисуемая картинка не видна. При использовании коэффициента не равного 1000, скорость рисования будет снижена.

Примеры

Картинка, сгенерированная примером
//Пример генерирует показанную на рисунке картинку
aPic:=Picture.Create(400,400);
aPic.Rectangle(1,1,200,200,,_CLR_RED);
aPic.Rectangle(201,1,400,200,,_CLR_BLUE);
aPic.Rectangle(1,201,200,400,,_CLR_GREEN);
aPic.Rectangle(201,201,400,400,,_CLR_YELLOW);
aPic.Text(6,6,"1","Tahoma|40|B|"+DecToBase(_CLR_YELLOW,16),,,,3);
aPic.Text(206,6,"2","Tahoma|40|B|"+DecToBase(_CLR_GREEN,16),,,,3);
aPic.Text(6,206,"3","Tahoma|40|B|"+DecToBase(_CLR_BLUE,16),,,,3);
aPic.Text(206,206,"4","Tahoma|40|B|"+DecToBase(_CLR_RED,16),,,,3);
aPic.Rectangle(5,5,aPic.Width-5,aPic.Height-5,_CLR_RED);
aPic.Save("c:\Result","png");