Canvas :: Графика и Игры :: База знаний Delphi :: TCanvas и освобождение дескрипторов
TCanvas автоматически не освобождает дескрипторы DeviceContext, поэтому необходимо явно вызвать метод FreeHandle или уничтожить экземпляр TCanvas для освобождения ресурсов. :: Алгоритм градиентной заливки
Алгоритм градиентной заливки - это алгоритм, позволяющий создавать плавный переход от одного цвета к другому на заданной линии или площади, обеспечивая уникальный визуальный эффект. :: Анимация без DirectX
Анимация без DirectX: для получения "гладкой" анимации в программах не использующих DirectX, автор предлагает использовать технику рисования на невидимом канвасе и только затем выводить обновляемые участки на видимый экран. :: Вертикальный текст
В статье представлено код на языке Pascal для создания вертикального текста на canvas при помощи функции textout, с использованием различных параметров для настройки внешнего вида текста. :: Возможные проблемы при работе с TCanvas больших размеров
В статье рассмотрены проблемы при работе с TCanvas больших размеров под операционной системой Windows 9x, в частности неправильное отображение графических примитивов и исчезновение их на экране. :: Вращение объектов
В статье рассказывается о создании вращающегося многогранника с помощью простых действий moveto и lineto на примере куба, рисуемого на Canvas. :: Вывести полупрозрачный текст
В статье описывается процедура TForm1.FormPaint для вывода полупрозрачной текстовой строки на форме Delphi, используя битмап и методы Canvas. :: Выводим цветной текст на форме под любым углом
В статье описывается пример вывода текста на форме с использованием компонента TButton и форматирования шрифта для вывода текста случайным образом под любым углом. :: Вывод строковой информации
В статье рассматривается вывод строковой информации в программе на языке Delphi 5 с использованием различных параметров для выравнивания текста. :: Вывод текста на канве картинки
В статье описывается проблема вывода текста на кнопке с изображением в Delphi и предлагается решение, которое заключается в выводе текста непосредственно на канву картинки с помощью класса TBitmap. :: Выдавить текст
В статье описывается алгоритм создания выпуклого текста с помощью программирования на языке Pascal, который использует три надписи: светло-серую, белую и нормальную, чтобы создать эффект вдавливания текста при нажатии. :: Движение окружности
В статье описывается пример программирования на языке Delphi, который иллюстрирует движение окружности на экране с помощью таймера и методов рисования на канвасе. :: Заполняет Canvas рисунком с рабочего стола, учитывая координаты
Функция PaintDesktop заполняет Canvas рисунком с рабочего стола, учитывая координаты. :: "Идентификация типа базы данных, использующей файлы dat и idx для подключения через ODBC в Delphi для Win32" Приведенный текст описывает процесс идентификации типа базы данных, использующей файлы с расширением .dat и .idx для подключения через ODBC в Delphi для Win32. :: Избежание окна "Update Failed" при обновлении данных в MySQL с QryCmdPerf в Delphi 5 При использовании компонента QryCmdPerf в Delphi 5 для работы с базой данных MySQL может возникнуть проблема, когда при попытке обновить данные появляется окно с сообщением "Update Failed". Чтобы решить эту проблему, необходимо обработать событие OnUpdate :: Изменить режим координат
Изменение режима координат в программе Delphi для отображения различных типов карт. :: Изобразить эффект разбрызгивания
Показано создание программы на Delphi, которая имитирует эффект разбрызгивания красного цвета вокруг курсора мыши при его движении и нажатии. :: Использование dbExpress и TSQLConnection для подключения к ODBC DSN и выполнения SQL-запросов В этой статье рассматривается использование dbExpress и TSQLConnection для подключения к данным через ODBC DSN и выполнения SQL-запросов в runtime. :: Использование encryption для SQLite DB в Delphi с SQLite ODBC Driver и ADO Данный контекст посвящен использованию шифрования для базы данных SQLite в Delphi с использованием SQLite ODBC Driver и ADO. :: Как быстро выводить графику (a то Canvas очень медленно работает)
В статье описывается способ ускорения отображения графики на Canvas в Delphi, путем создания и заполнения битмапа с использованием рекорда TRGB для хранения цветов. :: Как быстро нарисовать тень в заданном регионе
В статье описана функция на Delphi, которая позволяет быстро нарисовать тень в заданном регионе на форме с использованием REGION и BitBlt алгоритмов. :: Как быстро очистить канву
Статья описывает способ быстрого очищения канвы в программировании, используя функцию InValidateRect и метод fillrect. :: Как быстро очистить канву 2
Для быстрого очищения канвы в Delphi необходимо установить цвет кисти в белый и выполнить заполнение прямоугольника с помощью метода FillRect. :: Как быстро очистить канву 3
Представлен способ быстрого очищения канвы 3D в Delphi, который заключается в использовании процедуры PatBlt для удаления всех элементов на канве и последующего обновления формы. :: Как вращать текст
В статье описывается процедура "TextOutAngle", которая позволяет вращать текст на экране с помощью создания шрифта с указанным углом поворота и последующего вывода текста на канвасе. :: Как вращать текст 2
В статье описывается процедура вращения текста на Canvas в Delphi, которая устанавливает угол вывода текста для указанного Canvas и изменяет параметры шрифта для достижения желаемого результата. :: Как вращать текст 3
В статье описывается способ вращения текста под углом с помощью структуры LOGFONT и процедуры TForm1.FormPaint. :: Как вывести на Canvas надпись под углом
Надпись на Canvas можно вывести под углом с помощью функции создания вращающегося шрифта, которая изменяет параметры шрифта для получения необходимого наклона текста. :: Как вывести текст с красивым обрезанием если не помещается
Статья описывает способ вывода текста с обрезанием в Delphi, используя вызов DrawTextEx и параметр dwDTFormat с значением DT_PATH_ELLIPSIS. :: Как изменить фоновый цвет текста
В статье описывается процедура изменения фонового цвета текста в Delphi с помощью функции SetTextColor и других соответствующих методов. :: Как сделать анимацию немерцающей
Статья рассказывает о способах создания анимации без мерцания, описывая методы стирания и рисования объектов в памяти для предотвращения смены цветов на экране более одного раза. :: Как сделать прозрачным фон текста
Для создания прозрачного фонта текста в Delphi можно использовать функцию SetBkMode, которая временно изменяет режим рисования на канвасе. :: Как создать временный Canvas
В статье описывается создание временного Canvas на форме Delphi, для чего используется класс TBitmap и свойства холста, а также пример кода на языке Pascal для рисования на этом Canvas. :: Как с помощью функции Textout вывести на канве прозрачный текст
В статье описывается функция Textout для вывода прозрачного текста на канве с помощью алгоритма "потухания" текста и обратного эффекта на холсте. :: Канва и нестандартные приемы рисования
Канва и нестандартные приемы рисования - статья, описывающая два примера создания необычных линий с помощью Win API, включая линию, которая тянется за курсором, и надпись с непрямой базовой линией. :: Карта высот картинки
В статье описывается создание карты высот для простого Canvas с помощью Delphi и использования таймера для перерисовки изображения в реальном времени. :: Компонент Линия
Компонент Линия предназначен для вычерчивания линий на мнемосхемах и других целях, позволяя изменять толщину, стиль и цвет линии, а также добавлять или удалять узлы и линии. :: Координатная сетка
В статье рассматривается реализация координатной сетки на графической форме при помощи Delphi, включающая в себя расстановку осей, засечек и оцифровку линий сетки. :: "Копирование и переименование базы данных в Delphi с TADOConnection: Руководство" Это руководство по копированию и переименованию базы данных в Delphi с помощью TADOConnection, с конкретными примерами для MySQL и Microsoft Access. :: Кораблик
Код на языке Delphi, демонстрирующий рисование корабля на форме при помощи таймера и метода Titanik. :: Масштабирование для Canvas
Пример кода на Delphi, демонстрирующий масштабирование графики на canvas с помощью функции SetCanvasZoomFactor. :: Нарисовать градиент на Canvas с произвольным количеством цветов
Нарисовать градиент на Canvas с произвольным количеством цветов. :: Нарисовать линию без зазубринок
Нарисовать линию без зазубринок, используя алгоритм Ву для антиалиасинга и функцию AlphaBlendPixel для смешивания пикселей. :: Нарисовать линию, не используя функции LineTo
В статье предлагается способ отрисовки линии в Delphi без использования функции LineTo, что позволяет рисовать линию с высокой точностью или в 2D-массиве. :: Настройка ODBC-соединения с Microsoft Access без использования DSN в Delphi XE2 В статье описывается, как настроить ODBC-соединение с базой данных Microsoft Access без использования DSN в Delphi XE2, а также предлагается альтернативное решение. :: "Настройка подключений к базе данных ODBC в режиме реального времени в приложениях на Delphi" Материал посвящен настройке подключений к базе данных ODBC в режиме реального времени в приложениях на Delphi с помощью компонентов ADO. :: Настройка подключения к MySQL с TAdoConnection в Delphi В этом тексте рассматривается процесс настройки подключения к серверу MySQL с использованием компонента TAdoConnection в среде разработки Delphi, а также упоминаются распространенные ошибки и их решения. :: "Настройка соединения ODBC для подключения к Oracle в Delphi-Tokyo с помощью FireDAC" Контекст: Пользователь не может настроить подключение ODBC для работы с Oracle в Delphi-Tokyo через FireDAC, несмотря на успешное подключение через родные драйверы Oracle и наличие установленных ODBC-драйверов. :: "Обход запроса имени пользователя и пароля при подключении TQuery к ODBC без использования компонента базы данных" В статье рассматривается проблема, с которой сталкиваются разработчики при подключении к базе данных с помощью компонента TQuery в Delphi, заключающаяся в том, что при использовании TQuery всегда запрашивается имя пользователя и пароль, даже если они были :: "Обходной путь для проблемы ODBC Excel drivers после обновления Windows от 10 октября в Delphi с ADO" Описание контекста: "Различные обходные пути решения проблемы с открытием файлов Excel в Delphi с помощью ODBC и ADO после недавнего обновления Windows от 10 октября." :: "Ограничение длины VARCHAR в FireDAC и MS SQL 2017: почему 256 вместо 8002?" Контекст: Вопрос о разнице в максимальной длине строки VARCHAR между FireDAC и MS SQL 2017 и способы ее решения. :: Определение драйвера ODBC базы данных в Delphi 7 с объектами ADO Статья рассматривает вопрос о том, как определить драйвер ODBC базы данных в Delphi 7 с использованием объектов ADO, чтобы различать типы баз данных, такие как MS-Access и SQL Server, которые используют разные функции SQL для приведения типа integer к тип :: Определение имени базы данных при подключении Delphi через ODBC DSN В статье рассматривается, как определить имя базы данных при подключении Delphi через ODBC DSN. :: Отображение текста с тегами форматирования
Отображение текста с тегами форматирования - программный модуль на Delphi для отображения текста с использованием HTML-тегов форматирования. :: Отрисовка стрелки с заданными параметрами
Отрисовка стрелки с заданными параметрами - это процедура на языке Delphi, которая позволяет отрисовать стрелку с уникальными свойствами. :: Очистка (сантайзинг) данных пользователя перед передачей в базу данных через ODBC в Delphi и Pascal Контекст: Очистка (сантайзинг) данных пользователя перед передачей в базу данных через ODBC в Delphi и Pascal для предотвращения SQL-инъекций. :: Ошибка синтаксиса в SQL-запросе к имени из диапазона листа с помощью ODBC в Delphi/Pascal Контекст: Материал описывает проблему с синтаксисом SQL-запроса к имени из диапазона листа в Excel через ODBC в Delphi/Pascal и предлагает решение, учитывая разные версии ODBC-драйвера Microsoft Excel. :: "Параллельное выполнение SQL-запросов в Delphi: создание временной таблицы и объединение данных" Контекст: Статья о выполнении нескольких SQL-запросов одновременно в Delphi, в частности, о создании временной таблицы и объединении данных с помощью компонента TADOQuery и оператора WITH в SQL. :: Перемещать объект на сложном фоне
Написать программу рисования линии на сложном фоне в Delphi с помощью логической операции XOR, которая обеспечивает восстановление фона после перемещения объекта. :: "Перехват ошибки "ADO Provider cannot be found" в Delphi-приложении" Контекст: Перехват ошибки "ADO Provider cannot be found" в Delphi-приложении. :: Печать повернутого текста
Процедура AngleTextOut позволяет печатать текст с указанным углом поворота на canvas в Delphi. :: Печать повернутого текста 2
В статье описывается процедура TextOutVertical для печати текста в вертикальном направлении на изображении Bitmap с помощью Delphi. :: Печать повернутого текста 3
В статье описывается создание шрифта с повернутым текстом в языке программирования Delphi, используя функцию CreateFont и создавая собственноеfont-объект. :: Печать повернутого текста 4
В статье представлен более эффективный способ печати повернутого текста в Delphi, использующий создание временного шрифта с поворотом и его последующее выбор. :: Повернуть 2D точку
В статье описывается процедура поворота 2D точки на угол RotAng с помощью использования математических функций синуса и косинуса для трансформации координат. :: "Подключение источников данных ODBC и выполнение SQL-инструкций в Delphi" Статья описывает процесс подключения к данным через ODBC и выполнения SQL-запросов в Delphi с версии 2006, используя ADO или dbExpress вместо deprecated BDE-компонентов. :: "Получение списка имен источников данных ODBC в Delphi без использования решений от третьих лиц" В статье рассматривается способ получения списка имен источников данных ODBC в Delphi без использования решений от третьих лиц, путем использования функции SQLDataSources из ODBC32.DLL. :: "Получение списка подключений ODBC: альтернативные методы для 32 и 64 битных систем" Материал описывает альтернативные методы получения списка подключений ODBC для 32 и 64 битных систем в Delphi и Pascal: чтение реестра и использование API ODBC. :: Проверка завершения процесса удаления psqlodbc перед удалением PostgreSQL При разработке программного обеспечения, которое использует драйверы psqlodbc и базу данных PostgreSQL 9.0, важно правильно удалить эти компоненты с системы. В этой статье рассматривается, как проверить завершение процесса удаления psqlodbc перед удаление :: "Проверяем и решаем проблемы подключения к MySQL: брандмауэр или сеть" Статья "Проверяем и решаем проблемы подключения к MySQL: брандмауэр или сеть" объясняет, как диагностировать и устранять проблемы подключения к серверу MySQL с помощью утилиты `telnet` и настройки брандмауэра для доступа к порту 3306. :: Процедура выводит на Canvas семисегментный индикатор, позволяя управлять включенными сегментами
Процедура выводит на Canvas семисегментный индикатор, позволяя управлять включенными сегментами. :: Работа с Azure SQL Database через ODBC в Delphi с аутентификацией OAuth 2 Контекст: "Работа с Azure SQL Database через ODBC в Delphi с аутентификацией OAuth 2" :: Разбираемся с ошибкой загрузки драйвера Sybase ASE ODBC в Delphi 10 с Unidac В статье разбирается проблема загрузки драйвера Sybase ASE ODBC в Delphi 10 с Unidac и предлагаются решения для устранения этой ошибки. :: Разбор SQL-запросов в приложении на Delphi и Pascal через ODBC Контекст: Описание процесса просмотра SQL-запросов в приложении на Delphi и Pascal через ODBC. :: Развертывание приложения на Delphi с ODBC для CSV файлов в Windows 7: решение проблемы отсутствия драйвера В статье рассматривается проблема развертывания приложений на Delphi с ODBC для доступа к CSV-файлам в Windows 7 и способы ее решения, в том числе установка Microsoft Access Database Engine 2010 Redistributable и использование компонента TJvCsvDataSet из :: "Различия в совместимости 32- и 64-битных версий Windows 7 при работе с таблицами Paradox" В статье рассматривается проблема совместимости 32- и 64-битных версий Windows 7 при работе с таблицами Paradox в приложениях, созданных с помощью Delphi 5, и предлагается решение для исправления этой проблемы. :: Разработка приложений MVC в локальной сети на Delphi и Pascal: где разместить контроллер и как синхронизировать представления Разработка приложений по архитектурному паттерну MVC (Model-View-Controller) в локальной сети на Delphi и Pascal требует решения вопроса о том, где разместить контроллер и как синхронизировать представления. Контроллер может быть размещен как на сервере б :: "Решение проблемы EOleException в Delphi при использовании параметризованного запроса с MySQL и MyConnector" Контекст: Пользователь столкнулся с проблемой EOleException в Delphi при использовании параметризованного запроса с MySQL и MyConnector и нашел решение, добавив параметры явно перед выполнением запроса. :: "Решение проблемы замораживания Delphi-приложения с ADO при отладке без пути к файлам DBF" В статье описывается распространенная проблема замораживания Delphi-приложения при отладке без пути к файлам DBF при использовании компонентов ADO и предлагаются два решения: использование компонентов ADS вместо ADO и обработка исключений при работе с ADO :: "Решение проблемы записи текста с венгерскими акцентами в файл dBASE 3 с помощью ADOConnection в Delphi XE3" В контексте статьи рассматривается решение проблемы записи текста с венгерскими акцентами в файл dBASE 3 с помощью ADOConnection в Delphi XE3. :: Решение проблемы подключения FireDAC к SQL Server на Ubuntu 18.04 в Delphi Контекст: Статья описывает проблему подключения FireDAC к SQL Server на Ubuntu 18.04 в Delphi и предлагает решение, переключившись на SDAC для кроссплатформенной работы. :: Решение проблемы подключения базы данных Progress-4GL к Delphi через ODBC драйвер Контекст: Руководство по устранению проблемы подключения к базе данных Progress-4GL из Delphi через ODBC драйвер. :: "Решение проблемы подключения к базе данных Gupta через ODBC в Delphi 2007 на Windows 7 64 бит" Контекст: Помощь в решении проблемы подключения к базе данных Gupta через ODBC в Delphi 2007 на Windows 7 64 бит. :: "Решение проблемы с SqlConfigDataSource при создании записи в User DSN на Delphi" Описание контекста: Решение проблемы с SqlConfigDataSource при создании записи в User DSN на Delphi. :: Решение проблемы с отображением чисел с плавающей точкой при использовании ODBC драйвера в Delphi Проблема заключается в том, что при использовании ODBC драйвера в Delphi числа с плавающей точкой в БД могут быть округлены до ближайшего целого числа, что приводит к неверному отображению данных. :: Решение проблемы с ошибкой "Запись была изменена другим пользователем" в Delphi 7 с SQL Server express 2008 R2 В статье описывается решение проблемы с ошибкой "Запись была изменена другим пользователем" при работе с Delphi 7 и SQL Server express 2008 R2, возникшей из-за несовместимости между старым BDE и обновленным SQL Native Client, а также из-за проблем с отобр :: Рисование звёзд и многоугольников
В статье описан алгоритм рисования звезды и многоугольника в Delphi с использованием procedures DrawStar. :: Рисование квадрата мышкой
В статье описывается код на Delphi, который позволяет рисовать квадрат мышкой на форме приложения. :: Рисовать неактивный текст
Функция DrawDisabledText рисует текст на канвасе с эффектом неактивности, используя фоновое изображение и отображая строку текста поверх него. :: Самолет летит по небу
Как создать программу на Delphi, которая рисует самолет, движущийся по фону. :: Самый быстрый способ очистить Canvas
Самый быстрый способ очистить Canvas - использовать функцию PatBlt для рисования белого прямоугольника на всей поверхности формы. :: "Синхронный SQL-запрос в Delphi с возможностью отмены из другого потока" В статье рассматривается, как выполнить синхронный SQL-запрос в Delphi с возможностью отмены из другого потока. :: Сквозь Вселенную с дополнительными возможностями
Сквозь Вселенную с дополнительными возможностями - это демонстрационный пример программы на языке Delphi, динамически рисующий движение звёзд с вращением. :: Создание ODBC data source в runtime в Delphi Краткое описание: Статья о создании подключения к источнику данных (ODBC data source) в runtime в Delphi, с примерами кода на Object Pascal. :: Создание базы данных и таблиц для Windows-приложения на Delphi с использованием ODBC Данная статья является руководством по созданию базы данных и таблиц для Windows-приложения на Delphi с использованием ODBC и компонентов ADO. :: Создание градиентной заливки
Создание градиентной заливки на форме Delphi с помощью функции FillGradientRect и создания изображения с помощью функции Gradient. :: Создание портативного ODBC драйвера для подключения к MySQL в Delphi Статья описывает создание портативного ODBC драйвера для подключения к MySQL в Delphi, чтобы приложение работало независимо от наличия ODBC драйвера на целевом компьютере. :: "Создание системного DSN для Microsoft Paradox Driver в Delphi" Описание контекста: В контексте рассматривается создание системного DSN для Microsoft Paradox Driver в Delphi с использованием функции `SQLConfigDataSource`, а также решение проблемы, связанной с неизвестными ключами для этого драйвера. :: Убрать зазубринки при рисовании линий
Убрать зазубринки при рисовании линий можно с помощью алгоритма обработки пикселей, который смещает отдельные точки в направлении движения линии. :: Ускорение Delphi-приложения при работе с ODBC-запросами Ускорение Delphi-приложения при работе с ODBC-запросами: проблема slowdown при выполнении сложных запросов на больших объемах данных и возможные решения, такие как использование потоков, пакетов доступа к данным, оптимизации запроса и кэширования данных. :: Установка атрибута SQL_ATTR_ASYNC_DBC_FUNCTIONS_ENABLE для TDBXConnection в Delphi Краткое описание: Статья объясняет, как установить атрибут SQL_ATTR_ASYNC_DBC_FUNCTIONS_ENABLE для компонента TDBXConnection в Delphi для настройки асинхронного поведения базы данных, с примерами кода. :: "Устранение блокировок (deadlock) при использовании BDE и ODBC в Delphi для подключения к SQL Server 2008" Контекст: Устранение блокировок (deadlock) при использовании BDE и ODBC в Delphi для подключения к SQL Server 2008. :: "Устранение ошибки при сохранении пустой даты/времени в базу данных из Delphi" Устранение ошибки при сохранении пустой даты/времени в базу данных из Delphi: при использовании ADO и MySQL через ODBC драйвер, MySQL ODBC драйвер может неверно интерпретировать значение NULL, отправляемое ADO компонентом, и сохранять неверное значение да :: "Устранение проблемы с подключением к MySQL через Delphi: неожиданное требование пароля" Статья описывает проблему, связанную с подключением к базе данных MySQL через Delphi, когда несмотря на указание пароля в строке подключения, система требует введения пароля вручную. :: Что происходит с драйвером ODBC при закрытии приложения до получения результатов запроса из базы данных с 100 000 записями При закрытии приложения до получения результатов запроса из базы данных с 100 000 записей через драйвер ODBC может произойти замораживание приложения или увеличение использования памяти, в зависимости от реализации драйвера.
Узнайте о нестандартных приемах рисования на канве (canvas) в программировании с помощью Delphi и WinAPI. В статьях разобраны два примера создания уникальных линий, реализация координатной сетки и поворот 2D точек. Также рассмотрены проблемы работы с TCanvas больших размеров и способы их решения. Найдите оптимальные методы вывода текста на канве, включая прозрачный текст, вертикальный текст и текст под углом. Узнайте о быстрых способах очистки canvas и создании градиентной заливки. Улучшайте свои навыки программирования с нашими статьями о рисовании на канве в Delphi!
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS :: Главная ::
|