Принадлежность точки отрезку. Почему не работает классика?
Простой вопрос вызывает кучу запросов и непониманий, почему классическая формула то работает, то не работает. Запросы "принадлежность точки отрезку" уводят на страницу "Пересечение прямых, угол и координаты пересечения", где рассматривается именно пересечение.
Поэтому предпринял попытку раскрыть решение задачи с формулировкой:
Есть отрезок, заданный точками P1(x1,y1) и P2 (x2,y2). Необходимо определить, принадлежит ли точка P(x,y) этому отрезку.
Также рассмотрел ситуации, когда классическая формула дает сбои.
Читать статью...
Простой вопрос вызывает кучу запросов и непониманий, почему классическая формула то работает, то не работает. Запросы "принадлежность точки отрезку" уводят на страницу "Пересечение прямых, угол и координаты пересечения", где рассматривается именно пересечение.
Поэтому предпринял попытку раскрыть решение задачи с формулировкой:
Есть отрезок, заданный точками P1(x1,y1) и P2 (x2,y2). Необходимо определить, принадлежит ли точка P(x,y) этому отрезку.
Также рассмотрел ситуации, когда классическая формула дает сбои.
Читать статью...
🔥1
Как подключить GDI+ для Delphi 7 и не иметь проблем в XE
Собственно, сабж.
Переделаны родные для XE модули GDIPAPI, GDIPOBJ, GDIPUTIL, DirectDraw так, чтобы компилировались в Delphi7. Также переписан GDIPCanvas под Delphi7. Все с примерами.
Исходники компилируются без проблем, и в Delphi7, и в XE7, XE10. Ну, по крайней мере, у меня )))
https://ip76.ru/gdip-for-delphi7/
Собственно, сабж.
Переделаны родные для XE модули GDIPAPI, GDIPOBJ, GDIPUTIL, DirectDraw так, чтобы компилировались в Delphi7. Также переписан GDIPCanvas под Delphi7. Все с примерами.
Исходники компилируются без проблем, и в Delphi7, и в XE7, XE10. Ну, по крайней мере, у меня )))
https://ip76.ru/gdip-for-delphi7/
🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Трюки с формой 01: Без заголовка, с тенью и отзывчивой рамкой
Небольшая статья о том, как убрать заголовок окна, как сделать тень такому окну. Как разрешить менять размер мышкой окну без заголовка и фрейма. Надеюсь, первая в цикле подобных статей. Следующую планирую про заголовок с combobox'ом и прочей фигней, реакцию на системные кнопки и системное меню.
Читать
Небольшая статья о том, как убрать заголовок окна, как сделать тень такому окну. Как разрешить менять размер мышкой окну без заголовка и фрейма. Надеюсь, первая в цикле подобных статей. Следующую планирую про заголовок с combobox'ом и прочей фигней, реакцию на системные кнопки и системное меню.
Читать
🔥1
Друзья!
Сделал регистрацию на сайте.
Буду рад видеть в рядах нашего сообщества!
Зарегистрироваться или войти
Сделал регистрацию на сайте.
Буду рад видеть в рядах нашего сообщества!
Зарегистрироваться или войти
This media is not supported in your browser
VIEW IN TELEGRAM
Трюки с формой 2.0: ComboBox в заголовке
В статье рассмотрен трюк с помещением панели в не-клиентскую область окна с последующей отрисовкой и переводом non-client сообщений в обычные виндусовые события.
Модифицирован эффект пламени, вынесен в отдельный модуль.
Показано, как можно рисовать на обычном GDI DC:HDC совместно c GDI+.
Компилируется в Delphi 7, XE 7, XE 10, XE 11.
Протестировано на Win 10, 8, 7, XP.
https://ip76.ru/tricks-form-20/
В статье рассмотрен трюк с помещением панели в не-клиентскую область окна с последующей отрисовкой и переводом non-client сообщений в обычные виндусовые события.
Модифицирован эффект пламени, вынесен в отдельный модуль.
Показано, как можно рисовать на обычном GDI DC:HDC совместно c GDI+.
Компилируется в Delphi 7, XE 7, XE 10, XE 11.
Протестировано на Win 10, 8, 7, XP.
https://ip76.ru/tricks-form-20/
🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Вывести текст в перспективе
Как в Delphi 7, XE 7, 10, 11 нарисовать текст с текстурной заливкой в перспективе без аффинных преобразований и 3D наворотов.
Как растянуть текст, чтобы он полностью влез в заданный четырехугольник.
Простые способы работы с TGPBitmap, TGPFont и TGPFontFamily.
https://ip76.ru/gdip-text-warp/
Как в Delphi 7, XE 7, 10, 11 нарисовать текст с текстурной заливкой в перспективе без аффинных преобразований и 3D наворотов.
Как растянуть текст, чтобы он полностью влез в заданный четырехугольник.
Простые способы работы с TGPBitmap, TGPFont и TGPFontFamily.
https://ip76.ru/gdip-text-warp/
🔥2
Координаты точки по углу от произвольной прямой и расстоянию
Небольшой очерк о том, как найти координаты точки, отстоящей на некий угол от произвольной прямой на некое расстояние от точки этой прямой.
Рассмотрен обратный процесс, когда нужно найти угол по трем координатам.
https://ip76.ru/short-stories/angle-len-coord/
Небольшой очерк о том, как найти координаты точки, отстоящей на некий угол от произвольной прямой на некое расстояние от точки этой прямой.
Рассмотрен обратный процесс, когда нужно найти угол по трем координатам.
https://ip76.ru/short-stories/angle-len-coord/
🔥1
Однажды, в 2005 году, один человек грустно сказал мне, что в нашей стране каждый второй считает себя программистом или дизайнером. Сейчас он грустит в Нью-Йорке, а я тут каждый день убеждаюсь в правильности его высказывания.
Вот нет хуже ситуации, когда заказчик владеет какими-то навыками программирования, особенно в такой среде, как Delphi. В Delphi очень просто вообразить себя Шумахером кодинга. Cейчас есть работа, в которой одно из требований использовать TTitleBarPanel. Это очень глючный компонент, и чтобы он заработал как хотелось бы, надо дописать к нему еще кучу апгрейдов, а лучше выкинуть и написать что-то свое. Чрезвычайно простое решение описано тут. Планирую цикл трюков с формой продолжить и написать, как все правильно сделать на основе DWM, который уже затронут в этой статье.
На картинке - мой заголовок, у которого нет никаких проблем. Но это и не компонент.
Может есть у кого опыт удачного использования TTitleBarPanel?
Вот нет хуже ситуации, когда заказчик владеет какими-то навыками программирования, особенно в такой среде, как Delphi. В Delphi очень просто вообразить себя Шумахером кодинга. Cейчас есть работа, в которой одно из требований использовать TTitleBarPanel. Это очень глючный компонент, и чтобы он заработал как хотелось бы, надо дописать к нему еще кучу апгрейдов, а лучше выкинуть и написать что-то свое. Чрезвычайно простое решение описано тут. Планирую цикл трюков с формой продолжить и написать, как все правильно сделать на основе DWM, который уже затронут в этой статье.
На картинке - мой заголовок, у которого нет никаких проблем. Но это и не компонент.
Может есть у кого опыт удачного использования TTitleBarPanel?
This media is not supported in your browser
VIEW IN TELEGRAM
Эллипс под углом и координаты точки наклонного эллипса
Небольшой эпос про то, как повернуть эллипс и найти координату точки на нем, отстоящей на заданный угол от оси X.
https://ip76.ru/coord-rot-ellipse/
Небольшой эпос про то, как повернуть эллипс и найти координату точки на нем, отстоящей на заданный угол от оси X.
https://ip76.ru/coord-rot-ellipse/
🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Пересечение произвольной прямой и наклонного эллипса
Продолжение темы наклонного эллипса. На этот раз рассматривается метод получения координат пересечения произвольной прямой и наклонного эллипса.
https://ip76.ru/line-rotate-ellipse/
Продолжение темы наклонного эллипса. На этот раз рассматривается метод получения координат пересечения произвольной прямой и наклонного эллипса.
https://ip76.ru/line-rotate-ellipse/
🔥1
Дмитрий Осипов
Графика в проектах DELPHI
Книга потрясная.
Во времена, когда осваивал GDI+ она была настольной.
Куча полезной информации, как по Windows GDI, так и GDI+.
Рекомендую.
Дабы избежать нарушения авторских прав, даю ссылку на не свой ресурс. Там потребуют регистрацию для скачивания. Регистрация безболезненна )))
Скачать книгу (8.5 Мб)
Графика в проектах DELPHI
Книга потрясная.
Во времена, когда осваивал GDI+ она была настольной.
Куча полезной информации, как по Windows GDI, так и GDI+.
Рекомендую.
Дабы избежать нарушения авторских прав, даю ссылку на не свой ресурс. Там потребуют регистрацию для скачивания. Регистрация безболезненна )))
Скачать книгу (8.5 Мб)
🔥3👍1
Отличная читалка, установки не требует.
Небольшой по размеру просмотрщик PDF, DjVu, Comic Book Archive, FB2, ePub, XPS, TCR, многостраничных TIFF, TXT, PalmDoc, EMF, WMF, BMP, GIF, JPG, JPEG, PNG, PSD, PCX, DCX, MOBI, AZW для Microsoft Windows, бесплатный для некоммерческого использования. До версии 1.6 был бесплатен полностью.
Скачать portable версию с www.IP76.ru (3.5 Мб)
Скачать читалку с www.stdutility.com
Небольшой по размеру просмотрщик PDF, DjVu, Comic Book Archive, FB2, ePub, XPS, TCR, многостраничных TIFF, TXT, PalmDoc, EMF, WMF, BMP, GIF, JPG, JPEG, PNG, PSD, PCX, DCX, MOBI, AZW для Microsoft Windows, бесплатный для некоммерческого использования. До версии 1.6 был бесплатен полностью.
Скачать portable версию с www.IP76.ru (3.5 Мб)
Скачать читалку с www.stdutility.com
Друзья!
К сожалению, времени сейчас на новые статьи нет.
К тому же, сайт в настоящее время переносится на русский хостинг.
Буржуйский хостер вначале попросил добровольно свалить до окончания подписки.
Затем, не дожидаясь в моем случае октября, стал злонамеренно тормозить.
В отношении картинки. Она очень понятна фрилансерам.
Большинство заказчиков делает вид, что вообще не понимает про что это.
Прямо как буржуйский хостер.
Одним словом, своих статей пока нет.
Буду публиковать чужие интересности.
10 уловок заказчиков, чтобы платить Вам меньше
Написано давно, но ничего не изменилось.
К сожалению, времени сейчас на новые статьи нет.
К тому же, сайт в настоящее время переносится на русский хостинг.
Буржуйский хостер вначале попросил добровольно свалить до окончания подписки.
Затем, не дожидаясь в моем случае октября, стал злонамеренно тормозить.
В отношении картинки. Она очень понятна фрилансерам.
Большинство заказчиков делает вид, что вообще не понимает про что это.
Прямо как буржуйский хостер.
Одним словом, своих статей пока нет.
Буду публиковать чужие интересности.
10 уловок заказчиков, чтобы платить Вам меньше
Написано давно, но ничего не изменилось.
👍2🔥1
Друзья! Всем привет!
IP76.RU успешно переехал на beget.com.
Но времени по-прежнему катастрофически нет.
Поэтому небольшая подборка справочных ссылок по Delphi.
Периодически туда заглядываю.
Надеюсь, информация будет полезной.
Borland Compiler Conditional Defines
Compiler Versions
Иногда требуется подсмотреть номер версии для {$if CompilerVersion >= ...}
Нововведения по версиям Delphi
Полезны в том числе и ссылки внутри статьи.
Hidden hints and warnings options
Для директивы $WARN нужен некий идентификатор, чтобы отключить/включить генерацию какого либо хинта. Номер хинта мы спокойно знаем из отладчика. А вот какой идентификатор указывать для директивы $WARN, можно подсмотреть в конце статьи.
Если есть интересные справочные ссылки, делитесь в комментариях. Возможно, потом пригодится для раздела "Полезные ссылки".
IP76.RU успешно переехал на beget.com.
Но времени по-прежнему катастрофически нет.
Поэтому небольшая подборка справочных ссылок по Delphi.
Периодически туда заглядываю.
Надеюсь, информация будет полезной.
Borland Compiler Conditional Defines
Compiler Versions
Иногда требуется подсмотреть номер версии для {$if CompilerVersion >= ...}
Нововведения по версиям Delphi
Полезны в том числе и ссылки внутри статьи.
Hidden hints and warnings options
Для директивы $WARN нужен некий идентификатор, чтобы отключить/включить генерацию какого либо хинта. Номер хинта мы спокойно знаем из отладчика. А вот какой идентификатор указывать для директивы $WARN, можно подсмотреть в конце статьи.
Если есть интересные справочные ссылки, делитесь в комментариях. Возможно, потом пригодится для раздела "Полезные ссылки".
🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Жирная пунктирная линия в Delphi.Canvas
Всем известно, что в стандартном Canvas средствами Delphi нарисовать пунктирную линию, толщиной больше единицы, невозможно. На самом деле возможно. Просто надо добавить самую малость GDI API.
Также показано, как можно использовать растровое изображение вместо цвета линий.
https://ip76.ru/bold-dot-line/
Всем известно, что в стандартном Canvas средствами Delphi нарисовать пунктирную линию, толщиной больше единицы, невозможно. На самом деле возможно. Просто надо добавить самую малость GDI API.
Также показано, как можно использовать растровое изображение вместо цвета линий.
https://ip76.ru/bold-dot-line/
🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Пользовательский стиль пера. Часть I: GDI
Пользовательский стиль пера - это набор штрихов заданной длины и интервалов между ними.
Однако, такой стиль можно использовать не обязательно для задания собственной штриховки.
Например, можно сделать бегущую линию, бегущий контур текста, эффект "бегущих муравьёв", как в PhotoShop'е.
Одним словом, читаем и критикуем 😊
Пользовательский стиль пера - это набор штрихов заданной длины и интервалов между ними.
Однако, такой стиль можно использовать не обязательно для задания собственной штриховки.
Например, можно сделать бегущую линию, бегущий контур текста, эффект "бегущих муравьёв", как в PhotoShop'е.
Одним словом, читаем и критикуем 😊
🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Пользовательский стиль пера. Часть II: Бегущие муравьи
Рисуем рамку бегущих муравьёв в GDI и GDI+.
Для GDI+ аж два метода - хороший и очень хороший )))
Всё запаковано в класс, можно брать и запросто использовать.
Как использовать - всё подробно расписано, исходники как обычно в комплекте.
Почитать...
Рисуем рамку бегущих муравьёв в GDI и GDI+.
Для GDI+ аж два метода - хороший и очень хороший )))
Всё запаковано в класс, можно брать и запросто использовать.
Как использовать - всё подробно расписано, исходники как обычно в комплекте.
Почитать...
🔥4