<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://sfsys.ru/index.php?action=history&amp;feed=atom&amp;title=Picture.Ellipse</id>
	<title>Picture.Ellipse - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://sfsys.ru/index.php?action=history&amp;feed=atom&amp;title=Picture.Ellipse"/>
	<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=Picture.Ellipse&amp;action=history"/>
	<updated>2026-04-04T16:53:21Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.1</generator>
	<entry>
		<id>http://sfsys.ru/index.php?title=Picture.Ellipse&amp;diff=1722&amp;oldid=prev</id>
		<title>Admin: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=Picture.Ellipse&amp;diff=1722&amp;oldid=prev"/>
		<updated>2021-02-07T06:52:18Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 06:52, 7 February 2021&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://sfsys.ru/index.php?title=Picture.Ellipse&amp;diff=1721&amp;oldid=prev</id>
		<title>Admin at 06:33, 14 March 2020</title>
		<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=Picture.Ellipse&amp;diff=1721&amp;oldid=prev"/>
		<updated>2020-03-14T06:33:26Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{infobox function&lt;br /&gt;
|name=Ellipse&lt;br /&gt;
|object=[[Картинка]]&lt;br /&gt;
|caption=Изменение картинки&lt;br /&gt;
|type=1&lt;br /&gt;
|status=2&lt;br /&gt;
|db=0&lt;br /&gt;
|exception=Невозможно превратить в число, неверные параметры.&lt;br /&gt;
|visual=0}}&lt;br /&gt;
{{HeadLinks|&lt;br /&gt;
* [[Main_Page|Начальная страница]]&lt;br /&gt;
* [[Общее_описание_языка|Общее описание]]&lt;br /&gt;
* [[Объекты]]&lt;br /&gt;
* [[Картинка]]}}&lt;br /&gt;
Функция рисует эллипс, вписанный в указанный прямоугольник. Координаты углов прямоугольника могут находиться вне картинки. Эллипс может иметь обрамление (рамку) (по умолчанию толщина рамки равна нулю, т.е. рамка отсутствует), и может быть залит определенным цветом (по умолчанию заливка не производится). Также может задаваться ширина обрамления, коэффициент альфа и сглаживание. Функция также может рисовать открытый эллипс по угловым координатам начала и конца его дуги. Функция поддерживает форматы картинки: ''BMP'' 8 (без альфа и сглаживания) и 32 бит (если картинка имеет другой формат, она будет преобразована в ''BMP'' 32-бит).&lt;br /&gt;
&lt;br /&gt;
== Синтаксис ==&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
{{Grey|Picture.}}'''Ellipse'''(''&amp;lt;Координата X верхней левой точки (INT)&amp;gt;'',''&amp;lt;Координата Y верхней левой точки (INT)&amp;gt;'',''&amp;lt;Координата X нижней правой точки (INT)&amp;gt;'',''&amp;lt;Координата Y нижней правой точки (INT)&amp;gt;''{{Optional|,&amp;lt;Цвет заливки (INT)&amp;gt;{{Default|{{Eq}}-1}},&amp;lt;Цвет обрамления (INT)&amp;gt;{{Default|{{Eq}}0}},&amp;lt;Ширина обрамления (REAL)&amp;gt;{{Default|{{Eq}}0}},&amp;lt;Использовать сглаживание (INT)&amp;gt;{{Default|{{Eq}}0}},&amp;lt;Коэффициент альфа-сопряжения (INT)&amp;gt;{{Default|{{Eq}}1000}},&amp;lt;Угол поворота в радианах (INT)&amp;gt;{{Default|{{Eq}}0}},&amp;lt;Начальный угол дуги в радианах (INT)&amp;gt;,&amp;lt;Конечный угол дуги в радианах (INT)&amp;gt;}})&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Аргументы ====&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Координата X верхней левой точки (INT)&amp;gt;'',''&amp;lt;Координата Y верхней левой точки (INT)&amp;gt;'',''&amp;lt;Координата X нижней правой точки (INT)&amp;gt;'',''&amp;lt;Координата Y нижней правой точки (INT)&amp;gt;''&amp;lt;/code&amp;gt; - Аргументы задают координаты прямоугольника, в который будет вписан эллипс.&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Цвет заливки (INT)&amp;gt;''&amp;lt;/code&amp;gt; {{Optional}} Аргумент задает цвет заливки (основной цвет) эллипса. Используется 24-битная нотация цвета. По умолчанию заливка не производится.&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Цвет обрамления (INT)&amp;gt;''&amp;lt;/code&amp;gt; {{Optional}} Аргумент задает цвет обрамления (рамки) эллипса. Используется 24-битная нотация цвета. По умолчанию используется черный цвет, однако, рамка не будет нарисована, если ее ширина равна нулю.&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Ширина обрамления (REAL)&amp;gt;''&amp;lt;/code&amp;gt; {{Optional}} Аргумент задает ширину обрамления (рамки) эллипса. По умолчанию ширина равна нулю (обрамление не будет нарисовано). Аргумент может принимать вещественные значения.&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Использовать сглаживание (INT)&amp;gt;''&amp;lt;/code&amp;gt; - {{Optional}} При использовании сглаживания (по умолчанию отключено), для рисования используется в 16 раз большее пространство, чем оригинальное, после чего создается альфа-наложение полученной картинки на оригинальную, каждая точка результата представлена 16-ю точками буфера (SSAA 4x4). Это позволяет получить гладкую картинку, однако скорость рисования такой картинки будет значительно снижена.&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Коэффициент альфа-сопряжения (INT)&amp;gt;''&amp;lt;/code&amp;gt; - {{Optional}} Рисуемая картинка становится полупрозрачной, оставляя частично видимыми цвета, которые были под ней до ее рисования. Программа использует целочисленную нотация для указания коэффициента альфа. Сопряжение не используется при коэффициенте равном 1000 (по умолчанию), при 500 рисуемая картинка получает половину интенсивности, при 0, рисуемая картинка не видна. При использовании коэффициента не равного 1000, скорость рисования будет снижена.&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Угол поворота в радианах (INT)&amp;gt;''&amp;lt;/code&amp;gt; {{Optional}} Аргумент задает угол поворота эллипса против часовой стрелки в радианах. По умолчанию угол равен 0 (поворот отсутствует). Поворот производится вокруг точки в центре эллипса.&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Начальный угол дуги в радианах (INT)&amp;gt;''&amp;lt;/code&amp;gt; {{Optional}} Аргумент задает угол начальной точки дуги эллипса. Если начальный и конечный углы заданы, эллипс размыкается и будет представлять собой дугу или секцию (в зависимости от наличия заливки), заданные начальным и конечным углом. По умолчанию, будет нарисован полный эллипс.&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Конечный угол дуги в радианах (INT)&amp;gt;''&amp;lt;/code&amp;gt; {{Optional}} Аргумент задает угол конечной точки дуги эллипса. Если начальный и конечный углы заданы, эллипс размыкается и будет представлять собой дугу или секцию (в зависимости от наличия заливки), заданные начальным и конечным углом. По умолчанию, будет нарисован полный эллипс.&lt;br /&gt;
&lt;br /&gt;
== Примеры ==&lt;br /&gt;
[[image:Ellipse_Example1.png|thumb|right|Картинка-результат работы примера]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//Пример демонстрирует несколько секций эллипсов на небольшой картинке&lt;br /&gt;
//Совмещение секций создает секторные диаграммы&lt;br /&gt;
aPic:=Picture.Create(560,240,toRgb(255,255,255),32);&lt;br /&gt;
&lt;br /&gt;
bt:=30;&lt;br /&gt;
base:=45;&lt;br /&gt;
lx:=50;&lt;br /&gt;
ly:=100;&lt;br /&gt;
&lt;br /&gt;
dx:=lx+10;&lt;br /&gt;
While base&amp;lt;=360 Do&lt;br /&gt;
  aPic.Ellipse(-lx+dx,-ly+120,lx+dx,ly+120,toRgb(255,0,0),toRgb(250,100,100),30,1,,radians(0),radians(base+bt),radians(45));&lt;br /&gt;
  aPic.Ellipse(-lx+dx,-ly+120,lx+dx,ly+120,toRgb(0,0,255),toRgb(0,155,255),30,1,,radians(0),radians(45),radians(base+bt));&lt;br /&gt;
&lt;br /&gt;
  base:=base\90*90+90;&lt;br /&gt;
  dx:=dx+lx*2+10;&lt;br /&gt;
EndDo;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
aPic.Save(&amp;quot;c:\Result&amp;quot;,&amp;quot;png&amp;quot;);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:Ellipse_Example2.png|thumb|right|Картинка-результат работы примера]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//Пример рисует 100 случайных дуг с разной шириной и альфа-коэффициентом&lt;br /&gt;
randomize(1);&lt;br /&gt;
aPic:=Picture.Create(500,500,toRgb(255,255,255),32);&lt;br /&gt;
for i:=1 to 100 do&lt;br /&gt;
  x:=random(500)+1;&lt;br /&gt;
  y:=random(500)+1;&lt;br /&gt;
  d:=random*5+0.2;&lt;br /&gt;
  alp:=random(360);&lt;br /&gt;
  b:=random(300)+1;&lt;br /&gt;
  a:=random(300)+1;&lt;br /&gt;
  alpha:=random(1001);&lt;br /&gt;
  a1:=random(45);&lt;br /&gt;
  a2:=random(90)+270;&lt;br /&gt;
&lt;br /&gt;
  aPic.Ellipse(-a+x,-b+y,a+x,b+y,,toRgb(255,0,0),d,1,alpha,radians(alp),radians(a1),radians(a2));&lt;br /&gt;
enddo;&lt;br /&gt;
&lt;br /&gt;
aPic.Save(&amp;quot;c:\Result2&amp;quot;,&amp;quot;png&amp;quot;);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
</feed>