Успокойте Нервы С Помощью Perl И Gd



Предисловие Я из тех людей, которые часто подвергаются стрессовым ситуациям.

Избавиться от стресса можно разными способами.

В этой теме я покажу вам, как я это делаю.



Как это пришло мне в голову?

Однажды, просматривая Интернет, я наткнулся на одно потрясающее изображение – оно имело сплошной черный фон, хаотично разбросанные линии и точки теплого фиолетового цвета.

Я попыталась представить, что может быть изображено на этом изображении.

Никакого смысла изображение не несло, но на него было удивительно приятно смотреть.

Я представил, что это какое-то графическое изображение космической тематики.

Мои глазные мышцы расслабились, и я почувствовал таинственный эффект цветотерапии.

Чуть позже я решил попробовать воссоздать нечто подобное программно.

Поскольку моим удобным языком был Perl, я обратился к нему.

В моем ActiveState Perl 5.14.2 по умолчанию был установлен модуль GD, и я решил, что буду его использовать.



Принцип работы

Для начала нам понадобится скрипт, который будет создавать для нас изображения с хаотичными наложениями:
   

#!/usr/bin/env perl use strict; use GD; my $res = 16000; my $outres = 1000; my $format = 2.0; for my $z(0.20) { my ($c1, $c2, $c3, $c4); my $img = new GD::Image($res, $res); $img->fill($res, $res => $img->colorAllocate(0, 0, 0)); for (0.1200) { $c1 = $img->colorAllocate(rand(0xFF-0x32)+0x32, rand(0xFF-0x32)+0x32, rand(0xFF-0x32)+0x32); $c2 = $img->colorAllocate(rand(0xFF-0x32)+0x32, rand(0xFF-0x32)+0x32, rand(0xFF-0x32)+0x32); $c3 = $img->colorAllocate(rand(0xFF-0x32)+0x32, rand(0xFF-0x32)+0x32, rand(0xFF-0x32)+0x32); $c4 = $img->colorAllocate(rand(0xFF-0x32)+0x32, rand(0xFF-0x32)+0x32, rand(0xFF-0x32)+0x32); $img->setStyle($c1, $c1, $c2, $c2, $c3, $c3, $c4, $c4, gdTransparent, gdTransparent); (rand(10)>2) ? ($img->line(rand($res), rand($res), rand($res), rand($res), gdStyled)): ((rand(10)>2) ? $img->rectangle(rand($res), rand($res), rand($res), rand($res), gdStyled): $img->ellipse(rand($res), rand($res), rand($res), rand($res), gdStyled)) if (rand(10)>2); } print "processing $z.png.\n"; my $m = new GD::Image($outres*$format, $outres); $m->copyResized($img, 0, 0, 0, 0, $outres*$format, $outres, $res, $res); open F => '>'.

$z.'.

png'; binmode F; print F $m->png; close F; }

  • Поместите скрипт в папку.

  • Запускаем и ждем, пока скрипт создаст для нас шедевры.

  • Сгенерированные изображения можно просмотреть, прокручивая их вручную или используя «слайд-шоу», которое не должно быть слишком коротким.



Примеры результатов



Успокойте нервы с помощью Perl и GD



Успокойте нервы с помощью Perl и GD



Ссылки

Модуль GD Perl Цветотерапия в Википедии P.S. : Картинки в примере получились размером 800х400, потому что они были сжаты Хабрасторажем.

Естественный масштаб этих изображений — 2000x1000. Теги: #стресс #perl #gd #цветотерапия #perl

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.