Страница 2 из 3
GDI+
Добавлено: 15 Март 2023, 22:56
atashe3
А можете пример показать как размытие по гаусу сделать
Т.к. в МСДН все примеры на с# классах из них понять не получилось
GDI+
Добавлено: 16 Март 2023, 0:17
Дед Пахом
Я так понимаю, чтобы к картинке применить эффект размытия, надо в метод TGdiPlusBitmap.ApplyEffect передать TGdiPlusBlurEffect. Параметры размытия описаны тут:
https://learn.microsoft.com/ru-ru/windo ... blurparams
GDI+
Добавлено: 16 Март 2023, 12:33
Дед Пахом
Работает.
GDI+
Добавлено: 17 Март 2023, 13:26
Дед Пахом
Обновление:
- Исправлены методы CreateMatrix.
- Добавлены вызовы очистки перед созданием объектов.
- Добавлены комментарии к параметрам эффектов.
GDI+
Добавлено: 19 Март 2023, 14:20
atashe3
Спасибо Пахом
Все прекрасно получилось
GDI+
Добавлено: 31 Март 2023, 20:50
gopstop2007
Попробовал запустить Ваш Image Selector пример Demo1, выдает ошибку
C:\Clarion10\Accessory\libsrc\win\imgsel.clw(370,23) : Error : Variable expected
Build Failed.
Указывает на ошибку в pRawData
IF image.FromString(pRawData) <> GpStatus:Ok
В чем может быть проблема?
Спасибо.
GDI+
Добавлено: 31 Март 2023, 21:15
Дед Пахом
gopstop2007 писал(а): 31 Март 2023, 20:50
В чем может быть проблема?
В атрибуте CONST.
Перезалил ImageSelector.
GDI+
Добавлено: 15 Апрель 2023, 17:02
Дед Пахом
Пример использования:
https://github.com/mikeduglas/PhotoCorr ... rector.exe.
- Можно выделить область и применить к ней какой-нибудь цветовой эффект (размытие, яркость, контраст, цветовой баланс, обесцвечивание, много чего ещё) или поворот/отражение
- Можно скопировать выделенную область в буфер обмена и вставить в Paint или в письмо
- Можно вставить в выделенную область буфера обмен из Paint или снимок экрана
- Само собой, можно все эти изменения сохранить в файле или блобе
GDI+
Добавлено: 18 Апрель 2023, 18:00
Дед Пахом
Здесь в zip:
https://github.com/mikeduglas/PhotoCorr ... master.zip
Добавил вывод текста, улучшил графику.
GDI+ рулит.
GDI+
Добавлено: 17 Сентябрь 2025, 23:32
finsoftrz
Интересная штука получилась, спасибо автору. Немного посмотрел сегодня. Можно рисовать на заданной области (контрол типа region). Причем сабклассить только его. Прикрепил небольшой тестовый класс надстройку, как это делается. Весь код манипуляций с region убирается в класс, без явных процедур сабклассинга и виртуальных методов, как в примерах Михаила.
Подключается, как обычно, после глобальных include:
INCLUDE('fsGdiPlus.inc'), ONCE
В области данных оконной процедуры объявляем экземпляр класса:
FsGdiPlusL FsGdiPlus
Поле открытия окна инициализируем:
FsGdiPlusL.init(window,?Region)
На кнопку для тестирования вешаем код вида:
FsGdiPlusL.OperCur=1 !в классе варианты вывода 1 и 2
FsGdiPlusL.Refresh

- gdiplus.png (6.82 КБ) 2159 просмотров
GDI+
Добавлено: 18 Сентябрь 2025, 7:52
finsoftrz
А в report структуру можно что-то вывести (кроме как через картинку с области экрана)?
GDI+
Добавлено: 18 Сентябрь 2025, 12:13
Дед Пахом
Конечно.
GDI+
Добавлено: 18 Сентябрь 2025, 16:07
Дед Пахом
Хотя я не проверял

PROPPRINT:Context даёт контекст устройства, на котором и рисуем.
GDI+
Добавлено: 19 Сентябрь 2025, 8:59
finsoftrz
Дед Пахом писал(а): 18 Сентябрь 2025, 16:07
Хотя я не проверял

PROPPRINT:Context даёт контекст устройства, на котором и рисуем.
Неа, тест не прошел. Ошибок нет, хэндлы возвращает, но не рисует.
GDI+
Добавлено: 19 Сентябрь 2025, 15:29
Дед Пахом
Ну нет так нет.