Как стать автором
Поиск
Написать публикацию
Обновить
5.84

Векторная графика *

SVG и компания

Сначала показывать
Порог рейтинга
Уровень сложности

GIMP Script-Fu ООП. Встраиваем векторы в систему классов Фигур и все Фигуры в язык Функциональной геометрии

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров525

Библиотека функций к Script-fu

В предыдущей статье мы рассмотрели имеющиеся в GIMP возможности векторной графики. Здесь мы рассмотрим как эти возможности использовать при построении графических примитивов — Фигур. Для построения абстракций фигур мы уже написали несколько классов: Фигуры рисуемых по контуру Кистью и Карандашом, Фигур заполняемых определённым цветом, Комбинированных Фигур, Фигур использующих Изображения и Фигур использующих Текст. Здесь я продемонстрирую, как легко и непринуждённо мы можем встроить новые абстракции в существующую иерархию классов. А заодно рассмотрим как вся эта иерархия классов может использоваться в языке функциональной геометрии, рассмотренном в предыдущем цикле статей.

Читать далее

Новости

GIMP Script-Fu ООП. Векторы

Время на прочтение10 мин
Количество просмотров504

Библиотека функций к Script-fu

Когда то, очень давно, считалось что графические редакторы делятся на растровые и векторные. К векторным относились Coreldraw Adobe Illustrator Inkscape и работали они не с отдельными пикселами изображений, а с элементами называемыми векторами, которые можно превращать, с помощью манипуляций в дуги различной формы, называемыми кривыми Безье. К растровым же относились Photoshop Paint и тот же GIMP. В этих редакторах отсутствовала какая либо геометрия и изображения представляли собой наборы отдельных точек - пикселов. Но время не стоит на месте и элементы растрового редактирования проникали в редакторы, которые считались векторными и наоборот, элементы векторных редакторов переносились в растровые графические редакторы. Примером тому является GIMP.

Представление о том, что GIMP то растровый графический редактор давно уже устарело. Текстовый слой, да и вся работа со шрифтами в GIMPе это работа с векторными объектами представляющими собой кривые Безье. Таким образом целые текстовые слои в GIMP представляют собой векторные объекты. По мимо отдельных текстовых слоёв, в каждом изображении GIMP можно создавать отдельные строки и вектора. Вот с ними мы сегодня и разберёмся.

Читать далее

Как это сделано: криптоколлекция Angry!Kids

Уровень сложностиСредний
Время на прочтение18 мин
Количество просмотров681

Всем привет! Меня зовут Денис Ланин, я один из старших дизайнеров в Юзтехе. В этой статье я поделюсь опытом проектирования своей криптоколлекции Angry!Kids. Хотя она пока так и не увидела свет (и, скорее всего, никогда не увидит), этот проект подарил мне бесценный опыт и прокачал навыки. Здесь расскажу о пути проектирования, возникавших проблемах, способах их решения и том, как всё это повлияло на меня как на специалиста.

Статья будет полезна продуктовым дизайнерам, digital-художникам, NFT-разработчикам, а также всем, кто работает с цифровыми коллекциями или интересуется созданием похожих цифровых проектов. Приятного чтения!

Читать далее

Дизайн на салфетке · Логотомия «Пчелошеринга» — пошаговое руководство с картинками №1

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров1.3K

Мама хотела чтобы я играл на фортепиано и стал пластическим хирургом. Я — закончил музыкалку по классу гитара, выучился на инженера-эколога и пошел в школу преподавать черчение и тренировать баскетбольную команду. Всё это время параллельно я работаю дизайнером на фрилансе — и сегодня на операционном столе «Пчелошеринг». Слабонервным дизайнерам и пчёлам вход воспрещен, остальным — добро пожаловать на вскрытие.

Читать далее

Дружеское знакомство с SVG

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров4.1K

SVG – одна из самых интересных технологий браузера. С его помощью можно делать массу полезных и интересных компонентов. Это неотъемлемая часть моего стека.

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

Для понимания этой статьи не требуется специальных знаний и опыта работы с SVG, но предполагается, что вы знакомы с основами HTML/CSS/JS.

Читать далее

Еще раз об SVG-виджетах в tcl/tk

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров1.7K

После выхода первой статьи про svg-виджеты для tcl/tk прошло более года. За это время вышел не только tcl/tk версии 9.0, но и сам пэт-проект возмужал и продолжает взрослеть. Напомним, что проект svgwidgets, примеры и интерпретаторы tcl/tk с необходимыми пакетами для работы с svg-виджетами можно найти на github.
В проекте svgwidgets на github-е можно найти версию интерпретатора tclexecomp как для linux64 (папка tclexexcomp902), собранного из исходников tcl/tk-9.0.2, так и версию интерпретатора на базе tcl/tk-8.6 для платформ Linux64 и Win64 (папка tclexecomp200).
К ранее созданному на github-е подкаталогу examples/CryptoArmPKCS_Test, в котором выложен исходный код криптографической утилиты для работы с электронной подписью cryptoarmpkcs, который предназначен для запуска на платформе Linux64 в среде tcl/tk-9, добавлены аналогичные папки для запуска утилиты cryptoarmpkcs в среде tcl/tk-8.6 на платформах Linux64 (папка examples/CryptoArmPKCS_Test_Tk86) и Win64 (папка examples/CryptoArmPKCS_Test_Tk86_Win64). Для запуска этой утилиты ничего дополнительного устанавливать на свой компьютер не требуется. Достаточно выбрать соответствующий интерпретатор из папки tclexecomp200 или tclexexcomp902 и выполнить файл mainguipkcs_svg.tcl из соответствующей папки ~/examples/CryptoArmPKCS_Test, например:

C:>C:\Temp\tclexecomp64_v200_svg_Win64.exe c:\Temp\CryptoArmPKCS7_Test_Tk86_Win64\mainguipkcs_svg.tcl

Читать далее

Ротоскопирование унижает нейросети, или как технология древности поможет улучшить арт для вашей игры

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров4.3K

Пока большинство разработчиков гонятся за технологиями и всё больше интегрируют нейросети в свой рабочий пайплайн, предлагаю обратиться к прошлому и поговорить о ротоскопировании — методе мультипликации, созданном ещё в начале XX века. А также о том, как, используя эту технику, повысить качество арта и анимаций в своих играх, особенно если вы не очень хорошо рисуете.

Читать далее

Совмещаем Libre Office и LaTeX

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров3.2K

Использование векторной графики LaTeX Pgf/TikZ в документах, создаваемых с помощью Libre Office / Open Office

Читать далее

Earcut на битах

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров2.9K

Earcut - базовый, почти учебный алгоритм триангуляции, но при некоторых раскладах он обгоняет более "продвинутые" решения.

Ампутировать

Делаем ландшафт на основе реальных данных

Уровень сложностиСредний
Время на прочтение20 мин
Количество просмотров5.2K

Я долгое время занимаюсь построением 3D копий городов в проприетарном игровом движке на основе картографических данных. Суммарно это сложная задача, успех выполнения которой заключется в решении небольшого набора больших проблем. Одной из таких проблем является отрисовка точного ландшафта на основе реальных данных. Далее я постараюсь расказать обо всех R&D этапах и технических особенностях, с которыми пришлось столкнуться, а вконце будет несколько сравнений сгенерированного ландшафта с фотографиями реальных мест.

Читать далее

Tcl/Tk. SVG-виджеты. Генератор градиентной заливки

Уровень сложностиСредний
Время на прочтение2 мин
Количество просмотров1.1K

После серии статей про svg-виджеты в tcl/tk, меня не оставляло чувство какой-то незавершенности. Всматриваясь в проект svgwidgets, стало понятно, что не хватает утилиты с удобным интерфейсом для генерации градиентной заливки.

Читать далее

Простая отрисовка емодзи в атлас из таблицы .ttf (NotoColorEmoji)

Уровень сложностиСложный
Время на прочтение9 мин
Количество просмотров563

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

В этой статье рассмотрим возможно самый простой способ рисования всех емодзи из шрифта NotoColorEmoji.ttf.

Читать далее

Как технология Neural Rendering от NVIDIA улучшает качество графики в играх: нейросети на службе у трассировки лучей

Время на прочтение6 мин
Количество просмотров3.6K

Помните, как мы когда-то удивлялись первым пиксельным шейдерам, считая их вершиной технологического прогресса? А потом появился рей-трейсинг, и наши представления о возможностях графических процессоров снова изменились. Сегодня же мы находимся на пороге нового переворота в мире компьютерной графики. Инновационная разработка NVIDIA под названием Neural Rendering соединяет традиционные алгоритмы визуализации с возможностями искусственного интеллекта, закладывая основу принципиально иного подхода к созданию виртуальных миров.

Читать далее

Ближайшие события

Способы создания пользовательских компонентов в QML

Уровень сложностиСредний
Время на прочтение24 мин
Количество просмотров2.2K

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

Также одним из условий будет, чтобы внешний вид полученных элементов можно было редактировать в QtCreator.

Все исходники в репозитории.

Читать далее

SVG-виджеты и tcl/tk-9.0

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров1.4K

Работая над проектом «SVG-виджеты для tckl/tk», я с нетерпением ждал выхода не только релиза Tcl/Tk-9.0, но и выхода интерпретатора tclexecomp с его поддержкой. Релиз Tcl/Tk-9.0 появился в сентябре 2024 года, когда работа над проектом приближалась к завершению. После выхода релиза Tcl/Tk-9.0.0, сразу же появилось желание протестировать свой проект с новым интерпретатором, но я решил дождаться появления и интерпретатора tclexecomp с поддержкой нового релиза Tcl/Tk.
Время шло, на Хабре была выложена финальная статья про svg-виджеты, а tclexecomp на базе Tcl/Tk-9.0 так и не появлялся. В настоящее время уже вышел второй релиз, а именно Tcl/Tk-9.0.1. И тогда было решено воспользоваться советом Ивана Владимировича Мичурина:

Читать далее

Компенсация уменьшения размеров изображения при повороте и отображении с помощью функции QPainter drawPixmap

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров549

Столкнулся с интересным результатом при прорисовывании в QPainter квадратного изображения QPixmap с помощью функции drawPixmap. После поворота изображение уменьшалось. Результат представлен на рисунке.

Читать далее

Принципы минимализма в UX/UI: парадокс «меньше — значит больше»

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров4.1K

Привет, Хабр. Я Илья Сластен, продуктовый дизайнер интерактивной карты ПГК Диджитал. В своей предыдущей статье я рассмотрел ключевые аспекты работы с локальными переменными в Figma и подход Atomic Design. Сегодня предлагаю поговорить о минимализме в дизайне.

В мире, где цифровая реальность меняется стремительно, а каждый клик важен, создание успешных веб-сайтов и приложений становится задачей, от решения которой зависит многое. Говоря о самых успешных подходах, минимализм в дизайне выходит на передний план. Это не просто эстетический выбор, это философия, которая стремится к ясности, эффективности и функциональности. Как же принцип «меньше — значит больше» помогает нам создавать более удобные и интуитивно понятные интерфейсы? Давайте разберемся.

Читать далее

Изучаем программирование шейдеров с Риком и Морти

Уровень сложностиСредний
Время на прочтение31 мин
Количество просмотров3K

Эта анимация Рика состоит из 240 строк кода. Никаких библиотек и изображений. В статье я покажу, как использовать шейдеры GPU и поля расстояний со знаком для создания подобных анимаций для видео, видеоигр и просто для развлечения! В оригинале статьи даже есть интерактивный редактор кода, благодаря которому вы сможете поэкспериментировать с примерами.

Читать далее

Работа с Чертежником в Кумире

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров19K

Я хочу обучить вас программе Кумир. В этой статье объясняю принцип работы исполнителя "Чертежник", показываю простейшие программы.

Читать далее

SVG-виджеты для tcl/tk. Финальный аккорд. Часть IV

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров1.7K

Реализация проекта «SVG-виджеты для tckl/tk» позволяет устранить одну из главных претензий, предъявляемых к графическому интерфейсу приложений, разрабатываемых с использованием tk - устаревший дизайн виджетов. Переход от классических виджетов к svg-виджетам не требует больших усилий. В этом лично я убедился, переписав gui утилиты для работы с электронной подписью cryptoarmpkcs. Ее дистрибутивы под именем cryptoarmpkcs_svg для платформ Linux64 и Windows64 можно найти в проекте:

Читать далее
1
23 ...

Вклад авторов