Книга программиста/Фильтрация изображений на PascalABC.Net: различия между версиями

Содержимое удалено Содержимое добавлено
Метки: с мобильного устройства из мобильной версии
м <source> -> <syntaxhighlight> (phab:T237267)
 
Строка 25:
# '''N''' - процент изменения яркости
}}
<sourcesyntaxhighlight lang="pascal">
uses GraphABC;
const
Строка 64:
Pic1.Draw(0, 0);
end.
</syntaxhighlight>
</source>
 
=Инвертирование изображения=
Строка 79:
| b = 255 - c.B
|}
<sourcesyntaxhighlight lang="pascal">
uses GraphABC;
var
Строка 100:
Pic1.Draw(0, 0);
end.
</syntaxhighlight>
</source>
 
==Усложненный вариант==
Строка 115:
# '''FactorB''' - фактор интерполяции синей компоненты между изначальным цветом и противоположным
}}
<sourcesyntaxhighlight lang="pascal">
uses GraphABC;
const
Строка 152:
Pic1.Draw(0, 0);
end.
</syntaxhighlight>
</source>
''P. S. Для интерполяции между числами можно так же использовать:''
<sourcesyntaxhighlight lang="pascal">
function Interpolation(a, b, p: integer) := Round(a + (b - a) * p / 100);</sourcesyntaxhighlight>
 
=Оконтуривание=
[[File:Оконтуривание.png|900px|frameless]]
<sourcesyntaxhighlight lang="pascal">
uses GraphABC;
var
Строка 222:
Redraw();
end.
</syntaxhighlight>
</source>
 
=Преобразование в нецветное изображение=
Строка 236:
| b = Round((c.R + c.G + c.B) / 3)
|}
<sourcesyntaxhighlight lang="pascal">
uses GraphABC;
var
Строка 258:
Pic1.Draw(0, 0);
end.
</syntaxhighlight>
</source>
 
=Размытие=
[[File:Размытие.png|900px|frameless]]
<sourcesyntaxhighlight lang="pascal">
uses GraphABC;
var
Строка 325:
Redraw();
end.
</syntaxhighlight>
</source>
 
=Сепия=
Строка 340:
# '''Intensivity''' - интенсивность цвета
}}
<sourcesyntaxhighlight lang="pascal">
uses GraphABC;
const
Строка 372:
Pic1.Draw(0, 0);
end.
</syntaxhighlight>
</source>
 
=Тонирование изображения=
 
<sourcesyntaxhighlight lang="pascal">
uses GraphABC;
const
Строка 408:
Pic1.Draw(0, 0);
end.
</syntaxhighlight>
</source>
 
=Изменение контраста=
Строка 423:
| b = Round((c.B * 100 - 128 * N) / (100 - N))
|}
<sourcesyntaxhighlight lang="pascal">
uses GraphABC;
const
Строка 464:
Redraw();
end.
</syntaxhighlight>
</source>
<sourcesyntaxhighlight lang="pascal">
uses GraphABC;
const
Строка 523:
Redraw();
end.
</syntaxhighlight>
</source>
 
==Уменьшение контраста==
Строка 537:
| b = Round((c.B * (100 - N) + 128 * N) / 100)
|}
<sourcesyntaxhighlight lang="pascal">
uses GraphABC;
const
Строка 578:
Redraw();
end.
</syntaxhighlight>
</source>
 
=Увеличение резкости=
[[File:Увеличение резкости.png|900px|frameless]]
<sourcesyntaxhighlight lang="pascal">
uses GraphABC;
var
Строка 645:
Redraw();
end.
</syntaxhighlight>
</source>
 
=Изменение цветового баланса=
Строка 669:
# '''NB''' - процент изменения синей компоненты цвета
}}
<sourcesyntaxhighlight lang="pascal">
uses GraphABC;
const
Строка 710:
Redraw();
end.
</syntaxhighlight>
</source>