IP76.RU Графика. Математика. Delphi.
103 subscribers
101 photos
2 files
151 links
Алгоритмы, исходники, теория, GDI, GDI+, D2D
Download Telegram
Справочники

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

https://ip76.ru/dict/
Векторизатор М

Векторизатор М – это простой и пока бесплатный векторизатор растровых изображений (например, фотографий). Создавался, как помощник малоопытному художнику. По сути, это создатель картины по номерам, но без номеров.

https://ip76.ru/vectorm/
🔥1
Теория и Практика

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

https://ip76.ru/theory-and-practice/
Пересечение прямых, угол и координаты пересечения

Пересечение прямых, заданных координатами двух точек, принадлежность точки пересечения отрезкам, нахождение угла между направляющими векторами.

https://ip76.ru/theory-and-practice/cross-lines/
🔥1
Быстрый доступ к пикселям Bitmap

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

https://ip76.ru/fast-pixel-post/
🔥1
Прямой доступ к пикселям Bitmap

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

https://ip76.ru/bitmap-pixel-post/
🔥1
Построение правильных многоугольников и неправильных звезд

Скоро Новый Год! Давайте создавать уже праздничное настроение и запасаться шампанским! Самое время порисовать праздничные звезды )))

https://ip76.ru/poly-stars-post/
🔥1
VirtualTreeView Footers

Все мы знаем и любим Virtual TreeView (VT). Бесплатный, быстрый, разнообразный. Mike Lischke подарил миру воистину бесценный инструмент. Настолько бесценный, что Embarcadero весьма активно использует его в своей среде, правда, без включения в стандартный набор компонент. Что само по себе не поддается осмыслению.

https://ip76.ru/vtv-footers/
🔥1
Perspective Transformation

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

https://ip76.ru/perspective-transformation/
🔥1
Матрицы аффинных преобразований на плоскости

Аффинное преобразование (АП) – вид геометрической трансформации, при которой сохраняется параллельность прямых и соотношение длин отрезков прямой. Углы и расстояния между точками не сохраняются.

https://ip76.ru/dict/affine2d/
🔥1
Аффинные преобразования на плоскости

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

https://ip76.ru/theory-and-practice/affine2d/
👍1
Поворот изображения онлайн

Интерактивный ротатор изображений. Выбор метода интерполяции. Прозрачный фон. Умеет сохранять результат в bmp, jpg, png, gif, webp.

https://ip76.ru/online/rotate-image/
🔥1
Границы повернутого прямоугольника

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

https://ip76.ru/theory-and-practice/rotate-rect/
👍1
Пересечение эллипса и прямой

Версия 1.0 этой статьи описывала пересечение эллипса и прямой, проходящей через его центр. На практике, в 99% случаев, именно это и требуется. Однако, что ни говори, материал не полон. Поэтому рассмотрим пересечение эллипса и любой прямой.

https://ip76.ru/theory-and-practice/inellipse-line/
🔥1
Direct2D. Контур текста. Эффект тени

Direct2D — это загадочное и малоизученное мной существо семейства Microsoft, обитающее в недрах DirectX. Давно хотел познакомиться с ним поближе.

https://ip76.ru/d2d-outline/
🔥1
Direct2D. Перспективная трансформация

Перспективная проекция Direct2D отличается от перспективной трансформации «по четырем точкам» тем, что она строится по углам поворота вокруг осей X, Y, Z, учитывает смещения и точку вращения.

https://ip76.ru/d2d-persp/
🔥1
ScrollBox с прокруткой, масштабом и перетаскиванием

ScrollBox представляет собой контейнер для визуальных компонентов. Может иметь полосы прокрутки, с помощью которых можно добраться до любого элемента контейнера. Прокрутка осуществляется только с помощью ScrollBar’ов. На колесо мыши не реагирует. Перетаскивать содержимое мышью не умеет. Популярностью не пользуется.

https://ip76.ru/scrollbox-wheel/
👍1
TStyleHook, GDI+ и шрифт из ресурса

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

https://ip76.ru/tstylehook-gdip/
🔥1
SpinEdit. Самозванец с плавающей запятой

SpinEdit с плавающей запятой нужен, порой, как воздух. Но стандартный SpinEdit оперирует только целочисленными значениями. Поэтому для вещественных значений, либо пишется имитатор в связке Edit + UpDown, либо используется JvSpinEdit, либо cxSpinEdit, либо аналогичное. Хотя, стандартный SpinEdit отлично подходит для этих целей.

https://ip76.ru/spinedit-imposter/
🔥1
Direct2D. Эффект Brightness. Яркость

Если под яркостью понимать «осветление» или «затемнение», то в Direct2D этого можно добиться, как минимум, тремя эффектами: Brightness, Exposure, HighlightsShadows. Есть еще универсальный эффект цветовой матрицы. Но эффект Brightness своим существованием напрямую отвечает за яркость, поэтому на нем и сосредоточимся.

https://ip76.ru/direct2d-brightness/
🔥1
Direct2D. Contrast & Sharpen. Контраст и резкость

Контраст и резкость в Direct2D представлены эффектами Contrast и Sharpen соответственно. Как обычно, Microsoft опять накосячил с математикой в документации. Эта неприятность будет исправлена ниже.

https://ip76.ru/d2d-contrast-sharpen/
🔥1