Архив тегов: Исходники

Принадлежность точки отрезку. Почему не работает классика?

Задумчивый Гибсон

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

PNG из Bitmap с переносом альфа-канала. И наоборот

bmp-to-png

Стандартными средствами Delphi можно создать PNG из Bitmap, но альфа канал при этом не переносится. Что за PNG без альфа-канала? Исправим это вопиющее безобразие. Заодно рассмотрим нюансы получения Bitmap из TGraphic.

Направить ось Y вверх

Ось Y вверх

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

Как очень быстро сделать истинное черно-белое изображение

Monro

Для множества алгоритмов распознавания требуется истинное черно-белое изображение. То есть такое, которое содержит только черный, и только белый, цвета. Зачем это нужно и как его получить очень быстро, давайте и поговорим.

Как повернуть изображение. GDI, GDI+, Direct2D, JavaScript

rotate image

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

Direct2D. Эффект Saturation. Насыщенность

D2D1Saturation

Насыщенность — это второй важный параметр в теории цвета, наравне с яркостью. Определяет степень отличия чистого хроматического цвета от аналогичного ему по яркости ахроматического цвета. Ахроматический цвет — это оттенки серого, который мы получили в предыдущей статье.

Direct2D. ColorMatrix. Цветовая матрица

ColorMatrix

ColorMatrix — это мощный инструмент для работы с растровым изображением. С помощью матрицы можно удалять, комбинировать, менять местами цветовые каналы изображения. Можно вращать цветовой вектор. Многие эффекты являются просто частным случаем цветовой матрицы. Одним словом, ColorMatrix — это сила.

Direct2D. Contrast & Sharpen. Контраст и резкость

D2D Contrast Sharpen

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

Direct2D. Эффект Brightness. Яркость

Эффект Brightness

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

SpinEdit. Самозванец с плавающей запятой

SpinEdit Imposter

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