Рубрика «graphics»

Привет! Хочу рассказать историю создания своего пет-прожекта.

Lopaka — это редактор пиксельной графики и интерфейсов для проектов на Ардуине, ESP32 или STM. Мне было больно видеть как страдают эмбедед разработчики рисуя свои интерфейсы, и я решил упросить им всем жизнь.

Я с детства любил рисовать и компьютеры 😀. Больше 10 лет занимаюсь веб-разработкой. Прошёл все стадии: дизайнер-любитель, программист-самоучка на PHP, фрилансер с сайтами "под ключ", фронтендер, тимлид.

Прототип

Всё началось с нашумевшего запуска Флиппер ЗероЧитать полностью »

Я уже довольно долго собираю и настраиваю десктопы с Linux для дома и офиса, и последнее время не без удовольствия выбираю конфигурации со встроенной графикой Intel. Когда‑то я начинал с машинки, в которую поставил с Core i3–2105, (HD Graphics 3000), позднее — более новый Core i3–9000 (UHD Graphics 630), а совсем недавно мне очень недорого достался Intel NUC5PPYH, разумеется тоже с фирменным графическим контроллером Intel.

Читать полностью »

Всем привет! Мы небольшой командой уже несколько лет разрабатываем 2D стратегию Norland — симулятор средневекового королевства.

Игра двухмерная, разрабатывается на Game Maker Studio 2 и во время работы я столкнулся с множеством задач а-ля «должно быть красиво». Где-то пришлось придумать свой велосипед, где-то повезло наткнуться на описание решения похожих задач.

В свое время меня очень вдохновила статьяЧитать полностью »

Привет!

В этой статье я бы хотел рассказать об особенностях реализации графического пользовательского интерфейса с виджетами на микроконтроллере и как при этом иметь и привычный пользовательский интерфейс и приличный FPS. Внимание я хотел бы акцентировать не на какой-то конкретной графической библиотеке, а на общих вещах — память, кэш процессора, dma и так далее. Поскольку я являюсь разработчиком команды Embox, приведенные примеры и эксперименты будут на данной ОС РВ.

Читать полностью »

Памятка по работе с Canvas API - 1

Доброго времени суток, друзья!

Данная статья представляет собой небольшую подборку примеров работы с Canvas API, к которой удобно обращаться при необходимости вспомнить изученный материал.

Это не руководство по работе с холстом, а лишь демонстрация некоторых из его основных инструментов.

Для меня это также своего рода промежуточный итог в изучении холста.

Код разбит на отдельные блоки-песочницы, которые для удобства чтения помещены под «кат».

Парочка важных моментов.

Ширину и высоту холста лучше определять с помощью атрибутов:

<canvas width="300" height="300"></canvas>

Если мы хотим, чтобы холстом была вся область просмотра, то делаем следующее:

const width = canvas.width = innerWidth
const height = canvas.height = innerHeight

Холст и двумерный контекст рисования я определяю следующим образом:

const canvas = document.querySelector('canvas')
// не путать с объектом jQuery
const $ = canvas.getContext('2d')

Довольно слов.
Читать полностью »

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

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

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

Вот решил поведать о библиотеке, которую написал недавно. Возможно кому-то и пригодится.
Это 2D framework на языке Rust для рендеринга непосредственно в Linux Frame Buffer /dev/fb0.

Задача была — на Raspberry Pi выводить на экран / телевизор простые 2D сцены. Raspberry Pi работает под управление собранного при помощи YoctoProject custom headless Linux. Window Managers отсутствуют, так же, как и OpenGL. Остается только Frame Buffer.

В случае с Frame Buffer обрабатывать приходится каждый пиксель. Так как я для Raspberry Pi пишу в основном на GoLang, то решил написать библиотеку на Go. Очень быстро понял что Go не подходит мне по производительности. Массивные операции с памятью он не смог выполнить за разумное время.

Тогда я обратил внимание на Rust, который выполнял похожие тесты намного быстрее.

Читать полностью »

Как Android преобразует размеры ресурсов - 1Размер APK файла можно уменьшить, выкинув «ненужные» LDPI ресурсы, Android все равно умеет генерировать их на лету из MDPI. Но что будет если убрать еще и MDPI каталог? И как именно будет произведена свертка: усреднением или более дешевым выбрасыванием пикселей? Перескочит ли Android через один шаг чтобы произвести потенциально более простое преобразование HDPI -> LDPI? Как именно происходит уменьшение картинок в разных случаях? Чтобы ответить на эти вопросы я провел небольшой тест.

Читать полностью »

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

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

image
Читать полностью »

image

Талантливый Ник Бабич разработчик, UX/UI специалист поделился своим опытом в блоге UX Planet про Улучшение опыта взаимодействия за счет использования карточек в дизайне. Наша команда выполнила перевод данной статьи

Веб- и мобильные приложения уже далеко ушли от обычных интернет-страниц и превратились в полноценные персонализированные системы. Эти системы построены на множестве отдельных фрагментов контента. Карточки –вот новый креативный концепт.

Независимо от того, как вы относитесь к этой концепции, карточки теперь с нами надолго.

Что такое карточки?

Карточки – это такие маленькие прямоугольники, заполненные инклюзивным изображением и текстом, которые служат точками перехода к более детальной информации. Когда дело доходит до поиска баланса между эстетикой и удобством пользовательского интерфейса, они становятся чуть ли не основными кандидатами на использование. А причина в том, что карточки – это удобное средство для отображения контента, состоящего из различных элементов.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js