GDI+
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
- Дед Пахом
- Старичок
- Сообщения: 3319
- Зарегистрирован: 07 Июль 2005, 16:51
- Откуда: Москва, Россия
- Благодарил (а): 15 раз
- Поблагодарили: 53 раза
- Контактная информация:
GDI+
Я так понимаю, чтобы к картинке применить эффект размытия, надо в метод TGdiPlusBitmap.ApplyEffect передать TGdiPlusBlurEffect. Параметры размытия описаны тут:
https://learn.microsoft.com/ru-ru/windo ... blurparams
https://learn.microsoft.com/ru-ru/windo ... blurparams
С уважением, ДП
- Дед Пахом
- Старичок
- Сообщения: 3319
- Зарегистрирован: 07 Июль 2005, 16:51
- Откуда: Москва, Россия
- Благодарил (а): 15 раз
- Поблагодарили: 53 раза
- Контактная информация:
GDI+
Обновление:
- Исправлены методы CreateMatrix.
- Добавлены вызовы очистки перед созданием объектов.
- Добавлены комментарии к параметрам эффектов.
- Исправлены методы CreateMatrix.
- Добавлены вызовы очистки перед созданием объектов.
- Добавлены комментарии к параметрам эффектов.
С уважением, ДП
-
- Полимат
- Сообщения: 1834
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 29 раз
- Поблагодарили: 10 раз
GDI+
Попробовал запустить Ваш Image Selector пример Demo1, выдает ошибку
Указывает на ошибку в pRawData
В чем может быть проблема?
Спасибо.
Spoiler
C:\Clarion10\Accessory\libsrc\win\imgsel.clw(370,23) : Error : Variable expected
Build Failed.
Build Failed.
Spoiler
IF image.FromString(pRawData) <> GpStatus:Ok
Спасибо.
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
- Дед Пахом
- Старичок
- Сообщения: 3319
- Зарегистрирован: 07 Июль 2005, 16:51
- Откуда: Москва, Россия
- Благодарил (а): 15 раз
- Поблагодарили: 53 раза
- Контактная информация:
GDI+
Пример использования: https://github.com/mikeduglas/PhotoCorr ... rector.exe.
- Можно выделить область и применить к ней какой-нибудь цветовой эффект (размытие, яркость, контраст, цветовой баланс, обесцвечивание, много чего ещё) или поворот/отражение
- Можно скопировать выделенную область в буфер обмена и вставить в Paint или в письмо
- Можно вставить в выделенную область буфера обмен из Paint или снимок экрана
- Само собой, можно все эти изменения сохранить в файле или блобе
- Можно выделить область и применить к ней какой-нибудь цветовой эффект (размытие, яркость, контраст, цветовой баланс, обесцвечивание, много чего ещё) или поворот/отражение
- Можно скопировать выделенную область в буфер обмена и вставить в Paint или в письмо
- Можно вставить в выделенную область буфера обмен из Paint или снимок экрана
- Само собой, можно все эти изменения сохранить в файле или блобе
С уважением, ДП
- Дед Пахом
- Старичок
- Сообщения: 3319
- Зарегистрирован: 07 Июль 2005, 16:51
- Откуда: Москва, Россия
- Благодарил (а): 15 раз
- Поблагодарили: 53 раза
- Контактная информация:
GDI+
Здесь в zip: https://github.com/mikeduglas/PhotoCorr ... master.zip
Добавил вывод текста, улучшил графику.
GDI+ рулит.
Добавил вывод текста, улучшил графику.
GDI+ рулит.
С уважением, ДП
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 5424
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 15 раз
- Поблагодарили: 68 раз
GDI+
Интересная штука получилась, спасибо автору. Немного посмотрел сегодня. Можно рисовать на заданной области (контрол типа region). Причем сабклассить только его. Прикрепил небольшой тестовый класс надстройку, как это делается. Весь код манипуляций с region убирается в класс, без явных процедур сабклассинга и виртуальных методов, как в примерах Михаила.
Подключается, как обычно, после глобальных include:
INCLUDE('fsGdiPlus.inc'), ONCE
В области данных оконной процедуры объявляем экземпляр класса:
FsGdiPlusL FsGdiPlus
Поле открытия окна инициализируем:
FsGdiPlusL.init(window,?Region)
На кнопку для тестирования вешаем код вида:
FsGdiPlusL.OperCur=1 !в классе варианты вывода 1 и 2
FsGdiPlusL.Refresh
Подключается, как обычно, после глобальных include:
INCLUDE('fsGdiPlus.inc'), ONCE
В области данных оконной процедуры объявляем экземпляр класса:
FsGdiPlusL FsGdiPlus
Поле открытия окна инициализируем:
FsGdiPlusL.init(window,?Region)
На кнопку для тестирования вешаем код вида:
FsGdiPlusL.OperCur=1 !в классе варианты вывода 1 и 2
FsGdiPlusL.Refresh
- Вложения
-
- fsGdiPlus.zip
- (2.64 КБ) 1 скачивание
C6/C12, ШВС, tps/btrieve.