Обработка изображений: цифровые фильтры

В одной из статей про dlib, я немного упоминал цифровую обработку изображений, после чего показал простую реализацию свертки изображения с фильтром на D и пообещал показать несколько интересных сверточных фильтров… В этой статье, я выполняю обещание и мы попытаемся подружить QtE5 и dlib, сделав несложный и удобный интерфейс для накладывания фильтров на изображения, оставив при этом возможность для пользователя добавлять свои фильтры. Читать далее →

Подробнее

«Мир проводов» в D

В природе существует великое множество различных динамических систем, поведение которых очень сложно. Но, как известно из нелинейной динамики, сложное и порой даже хаотическое поведение системы может получаться из самых простых и элементарных законов. С наглядными иллюстрациями этого факта мы уже несколько раз знакомились, например, аттрактор Лоренца: когда набор простых линейных преобразований приводит к тому, что движение точки внутри фазового пространства становится непредсказуемым при малейшем изменении любой из координат.

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

Подробнее

Автоматизация компиляции и запуска QtE5-приложений в Windows

Библиотека QtE5 очень удобная и нужная вещь, но иногда требуется добиться того, чтобы из некоторой среды разработки или какого-либо редактора можно было легко и быстро скомпилировать
QtE5-приложение. Дело обычно осложняется еще и тем, что после компиляции такого приложения, саму программу просто так не запустить требуется набор dll-файлов и картинок, которые распространяются вместе с QtE5. Естественно, сразу возникает вариант копирования всех нужных файлов QtE5 в какую-нибудь уединенную папку, однако, постоянное перемещение исполняемых файлов в нее может весьма быстро надоесть… Читать далее →

Подробнее

Простая консольная программа для ведения списка задач (todo)

В этой статье я расскажу о том, как однажды я написал небольшую консольную программку для ведения списка задач почти полностью в функциональном стиле (за исключением использования переменных и некоторых приемов из ООП). К сожалению, в статье помимо полезных практических приемов будут и некоторые отрицательные примеры, в частности, некоторое дублирование кода и нерациональное использование функций стандартной библиотеки. Также в этой скромной публикации я покажу с чего я начал функциональное проектирование программы (будет показан пример кода на одном из функциональных языков), нестандартное использование одного файла из состава библиотеки QtE5, одну интересную библиотеку для раскрашивания сообщений в командной строке, а также я сделаю небольшое резюме о полученном в ходе работы над этой программкой todo опыте. Читать далее →

Подробнее

Слоты и сигналы в QtE5

В Qt С++ используется два механизма обработки событий, это механизм виртуальных функций и механизм слотов и сигналов. Подробно останавливаться на этом не будем, так как в интернете очень много информации на эту тему. Главное — слот/сигнал, это имя функции с аргументами определенных типов. Мое представление об этом механизме сводится к следующим моментам Читать далее →

Подробнее

Создание своего виджета в QtE5

В этой статье, я покажу вам, несколько с иной стороны, насколько удобна QtE. Дело в том, что несмотря на то, что в этой замечательной привязке к библиотеке Qt5, есть много элементов графического интерфейса, но … иногда этого набора не хватает… Хоть это и случается редко, но порой возникает задача, при которой требуется создать какой-то свой графический элемент. Вот тут то, начинается самое интересное и при этом не трудное!

Читать далее →

Подробнее

Совсем простой просмотрщик PPM-файлов

Как наверное заметили многие темы в нашем блоге очень часто повторяются, встречаясь в наших заметках в самых различных вариантах, зачастую усовершенствованных. Иногда, мы не делаем никаких улучшений, а лишь слегка облагораживаем внешний вид, описывая таким образом результаты наших собственных экспериментов с различными GUI или же инструментами. Также, очень и очень редко, в нашем блоге, авторы возвращаются к уже написанному, пытаясь реализовать то, что когда-то не получалось в силу различных причин: нашей неопытности, недостачи времени и некоторых других причин…

Сегодня, я вновь хочу обратиться к одной из уже затронутых в блоге тем, но при этом я собираюсь открыть вам некоторые новые горизонты…

Читать далее →

Подробнее

Числа Коллатца на иной лад: графика в QtE5

С того момента, как я опубликовал статью про числа Коллатца, прошло уже некоторое время, однако, все равно статья мне показалась слишком сумбурной и в каком-то смысле несправедливой. Несправедливой статья, по моему мнению, может быть названа из-за того, что графическая реализация рисования последовательности Коллатца рассчитана только на пользователей Windows, и это обстоятельство огорчает.

Да, я знаю, что есть такой инструмент как Wine, но это решение является провальным: если ставить Wine, то придется ставить и компилятор dmd под Windows, и еще неизвестно, насколько хорошо скомпилируется dformlib в Wine и будет ли оно работать.

К счастью, внезапно, нашлось другое решение — для рисования последовательности Коллатца можно использовать Qt5!

Читать далее →

Подробнее

Как я писал калькулятор или мои опыты с QtE5

После того, как Геннадий Владимирович опубликовал у нас статью, я был весьма заинтригован этой графической библиотекой, однако, все равно несколько колебался перед ее использованием… Проведя пару экспериментов, а также воспроизведя ряд примеров из статьи про QtE, я решил все-таки попробовать написать что-нибудь самостоятельно просто для того, чтобы заставить себя перейти на новый тулкит, а заодно пощупать его возможности.

Так мне пришла в голову мысль повторить «подвиг», написав калькулятор, но уже на D и Qt5!

Читать далее →

Подробнее

Установка QtE5 в Linux, возможные проблемы и их решение

Эта заметка написана системным администратором Виталием Колывановым aka KVetal. Выражаем автору благодарность за интересную статью.

Данный текст и его автор не претендует на истину в последней инстанции, а описывают свой вариант решения данного вопроса.

Начнём с того, что в программировании я не силен, но в определённый момент стал мне интересен язык D, а после и средство реализации графического интерфейса приложения QtE5. Интересу поспособствовало прочтение статьи «QtE5 – изучаем D и Qt-5 в комфортной графической среде», опубликованной в этом блоге. Читать далее →

Подробнее