Страница 3 из 3

GDI+

Добавлено: 19 Сентябрь 2025, 19:12
finsoftrz
Возможно, через callback интерфейс получится сделать. Но у меня основная С6, там его нет. Можем потереть лампу, чтобы вызвать Игоря Столярова. :shock:

GDI+

Добавлено: 22 Сентябрь 2025, 8:54
Игорь Столяров
finsoftrz писал(а): 19 Сентябрь 2025, 19:12 вызвать Игоря Столярова
ДД !

На мой субъективный взгляд по прекрасному классу GDI+ есть два небольших нюанса ... :D

1. Это прежде всего мощная (во времена Windows XP) часть Windows API для рисования.
Но ведь и в самом Clarion есть достаточно неплохие штатные возможности для рисования.
Причём никаких вопросов с рисованием в WINDOW и REPORT не возникает.
см. штатный класс SVGRAPH

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

2. Растровая графика - её GDI+ немного и нет поддержки современных форматов.

Сейчас для работы с картинками мы используем OpenSource библиотеку FreeImage.
Реализация класса для Clarion поддерживает в штатной поставке массу готовых прикладных возможностей.
Это рисование, обработка (пусть примитивная), взаимодействие с буфером обмена и снимки экранов.
Не могу сказать что прям супер-супер-супер, но всё необходимое есть и главное: проверено и работает.
И это не концепт с простыми базовыми примерами, а библиотека с тысячами реальных пользователей.

Вот скажите пожалуйста: что Вы хотите рисовать в GDI+ ?
Вы можете самостоятельно реализовать те же снимки экрана или обработку картинок ? :D

GDI+

Добавлено: 22 Сентябрь 2025, 9:23
finsoftrz
Если я правильно понимаю, через GDI+ можно выводить юникод.

GDI+

Добавлено: 22 Сентябрь 2025, 9:40
finsoftrz
По поводу передвинуть или удалить часть объектов. В GDI+ это будет перерисовка области region. Таких областей может быть несколько в окне. То есть, вопрос решается не сложнее, чем с обычными контролами или графическими примитивами, если это упрятано в класс.

FreeImage валит программу при запуске на сервере у одного важного клиента, у которого используется Windows 2003 TS без сервиспаков. Пока сервер не сдохнет, менять его не планируют, он давно работает без особых проблем. Елка из примера с GDI+ на этом сервере не рисуется, но и программу не валит при запуске. Другие примеры не пробовал.

А FreeImage поддерживает всякие размытия, увеличения областей и т.п.?

GDI+

Добавлено: 22 Сентябрь 2025, 11:19
Игорь Столяров
finsoftrz писал(а): 22 Сентябрь 2025, 9:40 В GDI+ это будет перерисовка области region
Ага ! Вы их уже в отчётах попробовали. Попробуйте поработать и в окнах.
Для перехода от концепта с ёлками к реальной работе - требуется огромный труд автора ...

finsoftrz писал(а): 22 Сентябрь 2025, 9:40 у которого используется Windows 2003
Есть у нас пользователи с Win2003 / XP и всё работает ...
Хотя опять таки, кто знает что там реально понаставлено за 20 лет.

finsoftrz писал(а): 22 Сентябрь 2025, 9:40 А FreeImage поддерживает всякие размытия, увеличения областей
Там есть работа с растровыми объектами - но не буду вводить Вас в заблуждение
по поводу того с чем сам не работал. Прикрепляю описание - можете посмотреть.

GDI+

Добавлено: 22 Сентябрь 2025, 11:47
finsoftrz
Проект FreeImage вроде как закрыт 7 лет назад. Вы же только современными библиотеками предпочитаете пользоваться. :D

GDI+

Добавлено: 22 Сентябрь 2025, 11:58
Игорь Столяров
finsoftrz писал(а): 22 Сентябрь 2025, 11:47 Проект FreeImage вроде как закрыт 7 лет назад.
Формально проект не закрыт, но крайнее обновление действительно было в 2018 г.
Представлены DLL x32 и x64 - с этим проблем нет. Будут обновления - будем юзать.

Используется со всех языков, т.е. это не примочка для Clarion у которой полтора пользователя. :D
Я, кстати, какие-то функции добавлял сам по описанию в класс Clarion - он задействует не все возможности.

GDI+

Добавлено: 22 Сентябрь 2025, 21:33
Дед Пахом
Тему закрываю, если есть вопросы по GDI+, создавайте отдельные.
Игорь Столяров писал(а): 22 Сентябрь 2025, 8:54 Но ведь и в самом Clarion есть достаточно неплохие штатные возможности для рисования.
Причём никаких вопросов с рисованием в WINDOW и REPORT не возникает.
см. штатный класс SVGRAPH
SVGRAPH рисует с помощью функций GDI, GDI+ предоставляет больше возможностей.