<?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.Line</id>
	<title>Picture.Line - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://sfsys.ru/index.php?action=history&amp;feed=atom&amp;title=Picture.Line"/>
	<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=Picture.Line&amp;action=history"/>
	<updated>2026-04-04T20:03:03Z</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.Line&amp;diff=1736&amp;oldid=prev</id>
		<title>Admin: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=Picture.Line&amp;diff=1736&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.Line&amp;diff=1735&amp;oldid=prev</id>
		<title>Admin: Created page with &quot;{{infobox function |name=Line |object=Картинка |caption=Изменение картинки |type=1 |status=2 |db=0 |exception=Невозможно преврат...&quot;</title>
		<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=Picture.Line&amp;diff=1735&amp;oldid=prev"/>
		<updated>2020-03-11T08:12:37Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;{{infobox function |name=Line |object=&lt;a href=&quot;/index.php/%D0%9A%D0%B0%D1%80%D1%82%D0%B8%D0%BD%D0%BA%D0%B0&quot; title=&quot;Картинка&quot;&gt;Картинка&lt;/a&gt; |caption=Изменение картинки |type=1 |status=2 |db=0 |exception=Невозможно преврат...&amp;quot;&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=Line&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.}}'''Line'''(''&amp;lt;Координата X точки 1 (INT)&amp;gt;'',''&amp;lt;Координата Y точки 1 (INT)&amp;gt;'',''&amp;lt;Координата X точки 2 (INT)&amp;gt;'',''&amp;lt;Координата Y точки 2 (INT)&amp;gt;''{{Optional|,&amp;lt;Цвет линии (INT)&amp;gt;{{Default|{{Eq}}0}},&amp;lt;Ширина линии (REAL)&amp;gt;{{Default|{{Eq}}1}},&amp;lt;Использовать сглаживание (INT)&amp;gt;{{Default|{{Eq}}0}},&amp;lt;Коэффициент альфа-сопряжения (INT)&amp;gt;{{Default|{{Eq}}1000}}}})&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 точки 1 (INT)&amp;gt;'',''&amp;lt;Координата Y точки 1 (INT)&amp;gt;''&amp;lt;/code&amp;gt; - Аргументы задают координату первой точки отрезка. Самая верхняя левая точка имеет координаты (1,1) координата X растет по направлению вправо, координата Y растет по направлению вниз.&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Координата X точки 2 (INT)&amp;gt;'',''&amp;lt;Координата Y точки 2 (INT)&amp;gt;''&amp;lt;/code&amp;gt; - Аргументы задают координату второй точки отрезка. Самая верхняя левая точка имеет координаты (1,1) координата X растет по направлению вправо, координата Y растет по направлению вниз.&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Цвет линии (INT)&amp;gt;''&amp;lt;/code&amp;gt; - {{Optional}} Аргумент задает цвет точки. Используется 24-битная нотация цвета. По умолчанию линия будет нарисована черным цветом (0).&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Ширина линии (REAL)&amp;gt;''&amp;lt;/code&amp;gt; - {{Optional}} Аргумент задает ширину линии. По умолчанию ширина линии составляет 1 пиксел. Для линий, использующих сглаживание, этот аргумент может быть вещественным числом (включая значения меньше единицы). Для линий, имеющих ширину, больше единицы, рисунок будет представлять собой вытянутый прямоугольник, ширина которого, соответствует значению данного аргумента, точки начала и конца будут находиться в серединах отрезков верхней и нижней граней.&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;
&lt;br /&gt;
== Примеры ==&lt;br /&gt;
[[image:Line_Example.png|thumb|right|Картинка-результат работы примера]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ProfilerClear();&lt;br /&gt;
ProfilerStart();&lt;br /&gt;
&lt;br /&gt;
randomize(1);&lt;br /&gt;
aPic:=Picture.Create(500,500,toRgb(255,255,255),32);&lt;br /&gt;
//Выведем 20000 случайных линий, случайной толщины, имеющими альфа 50%&lt;br /&gt;
for i:=0 to 20000 do&lt;br /&gt;
  aPic.Line(random(510)-5,random(510)-5,random(510)-5,random(510)-5,toRgb(random(256),random(256),random(256)),Random(15)+1,1,500);&lt;br /&gt;
enddo;&lt;br /&gt;
&lt;br /&gt;
//36 дополнительных линий через каждые 10°&lt;br /&gt;
for i:=0 to 35 do&lt;br /&gt;
  x:=sin(radians(i*10))*200+250;&lt;br /&gt;
  y:=-cos(radians(i*10))*200+250;&lt;br /&gt;
  x2:=sin(radians(i*10))*50+250;&lt;br /&gt;
  y2:=-cos(radians(i*10))*50+250;&lt;br /&gt;
  aPic.Line(x2,y2,x,y,toRgb(i/35*255,0,0),10,1,1000);&lt;br /&gt;
Enddo&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ProfilerStop();&lt;br /&gt;
debugbreak;&lt;br /&gt;
&lt;br /&gt;
aPic.Save(&amp;quot;c:\Result&amp;quot;,&amp;quot;png&amp;quot;);&lt;br /&gt;
//Для i5 среднее время рисования короткой сглаженной полупрозрачной линии: 6.8 с / 20001 = 0.34 мс. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
</feed>