GDI+

Программы на Clarion, шаблоны, библиотеки и пр.

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 5499
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 16 раз
Поблагодарили: 75 раз

GDI+

Сообщение finsoftrz »

Возможно, через callback интерфейс получится сделать. Но у меня основная С6, там его нет. Можем потереть лампу, чтобы вызвать Игоря Столярова. :shock:
C6/C12, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8209
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 33 раза
Поблагодарили: 105 раз

GDI+

Сообщение Игорь Столяров »

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
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 5499
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 16 раз
Поблагодарили: 75 раз

GDI+

Сообщение finsoftrz »

Если я правильно понимаю, через GDI+ можно выводить юникод.
C6/C12, ШВС, tps/btrieve.
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 5499
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 16 раз
Поблагодарили: 75 раз

GDI+

Сообщение finsoftrz »

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

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

А FreeImage поддерживает всякие размытия, увеличения областей и т.п.?
C6/C12, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8209
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 33 раза
Поблагодарили: 105 раз

GDI+

Сообщение Игорь Столяров »

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

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

finsoftrz писал(а): 22 Сентябрь 2025, 9:40 А FreeImage поддерживает всякие размытия, увеличения областей
Там есть работа с растровыми объектами - но не буду вводить Вас в заблуждение
по поводу того с чем сам не работал. Прикрепляю описание - можете посмотреть.
Вложения
FreeImage3180.pdf
(1.59 МБ) 59 скачиваний
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 5499
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 16 раз
Поблагодарили: 75 раз

GDI+

Сообщение finsoftrz »

Проект FreeImage вроде как закрыт 7 лет назад. Вы же только современными библиотеками предпочитаете пользоваться. :D
C6/C12, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8209
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 33 раза
Поблагодарили: 105 раз

GDI+

Сообщение Игорь Столяров »

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

Используется со всех языков, т.е. это не примочка для Clarion у которой полтора пользователя. :D
Я, кстати, какие-то функции добавлял сам по описанию в класс Clarion - он задействует не все возможности.
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3333
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 20 раз
Поблагодарили: 54 раза
Контактная информация:

GDI+

Сообщение Дед Пахом »

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