Страница 129 из 158
Clarion 11-12
Добавлено: 31 Октябрь 2022, 16:01
kreator
Решил в кои-то веки графикой заняться. Ну надо. Вот такая х...:
Первое слева фото - обычное (в режиме Stretched, размер меньше реального), второе - оно же (только в режиме Disable), третье - оно же (только в режиме Disable), четвертое - оно же (видно, что картинка ка-то странно растягивается в зависимости от местоположения на экране), пятое - фото в режиме Disable и Centered.
Интересует работа в режиме Disable и Stretched. Можно как-то полечить буйство мыслей и фантазий программеров из SV?
И туда же. Не удаётся в рантайме к Image применить prop:Disable. Удаётся только через prop:Hide.
Clarion 11-12
Добавлено: 31 Октябрь 2022, 16:12
Губин Игорь
А можно проект в студию, чтобы не плодить?
Clarion 11-12
Добавлено: 31 Октябрь 2022, 18:32
kreator
Даже на стандартном превью видно. Ради принципа сделаю.
Big .dct
Добавлено: 03 Ноябрь 2022, 13:39
finsoftrz
Игорь Столяров писал(а): ↑03 Ноябрь 2022, 13:15
harry писал(а): ↑03 Ноябрь 2022, 12:31
Т.е. решение только в сокращении количества объектов ?
Видимо да. Я всегда был против левых шаблонов - они сильно закакивают проекты.
Ну и с нетерпением ждём-с обещанный Clarion 12 с генерацией x64 приложений ...
64 разряда не будет никогда, если RZ продолжить "руководить" процессом разработки. Он на чистом американском сказал, что дорабатывать компилятор нет перспективы (у него в голове, другие спокойно делают 64). Переход на другие готовые компиляторы (голубая мечта RZ в последние 15 лет со времен попытки сделать Clarion.Net) приведет к очень сильным изменениям, что никому не нужно. Теперь речь только о готовом компиляторе c++. Среда, единственное, что принципиально переделали из наследия топспида на "готовое" (sharp developer), работает с кучей багов, исправлять которые никто не собирается. Я такого вообще не понимаю. Дальнейшее развитие клариона будет за счет комьюнити, в котором остаются достаточно компетентные люди, в отличии от SV.
Это для другой темы пост.
Big .dct
Добавлено: 03 Ноябрь 2022, 13:43
Игорь Столяров
finsoftrz писал(а): ↑03 Ноябрь 2022, 13:39
Это для другой темы пост.
Точно ! Видимо пойдём по пути Clipper: OpenSource, форки от идиотов с кучей ошибок и забвение.
Big .dct
Добавлено: 03 Ноябрь 2022, 14:24
finsoftrz
Игорь Столяров писал(а): ↑03 Ноябрь 2022, 13:43
finsoftrz писал(а): ↑03 Ноябрь 2022, 13:39
Это для другой темы пост.
Точно ! Видимо пойдём по пути Clipper: OpenSource, форки от идиотов с кучей ошибок и забвение.
Опен сорс не надо. Надо постепенно передавать разработку отдельных направлений за пределы sv. Других вариантов не видно. Например, тот же драйвер кит. Все СУБД имеют библиотеки доступа на с++, драйвер кит, как я понимаю, позволяет стандартизировать их вызовы в наборы команд клариона для работы с базами данных. Струменский делал свою реализацию ip драйвера, видимо, где-то удалось получить драйвер кит (его короткое время продавали, насколько знаю). Меня бы в большей степени интересовало исправление багов в среде. Компиляторы 64 бита сейчас уже все популярные среды разработки имеют. Хотя я не думаю, что 32 бита похоронят совсем в ближайшие лет 10.
Clarion 11-12
Добавлено: 05 Ноябрь 2022, 19:46
kreator
Губин Игорь писал(а): ↑31 Октябрь 2022, 16:12
А можно проект в студию, чтобы не плодить?
Собрал тест. На простом окне четыре одинаковые картинки. Над ними четыре региона. При нажатии мышкой на картинку (регион) картинка дизейблится и наоборот. Если посмотреть эмбедсы, там всё просто - prop:Disable. Только приходится делать через prop:Hide, что тоже косяк (на мой взгляд).
Clarion 11-12
Добавлено: 05 Ноябрь 2022, 19:57
Губин Игорь
finsoftrz писал(а): ↑03 Ноябрь 2022, 14:24
где-то удалось получить драйвер кит (его короткое время продавали, насколько знаю)
Какая-то старая версия валяется у меня в дистрибутивах...
Clarion 11-12
Добавлено: 05 Ноябрь 2022, 21:33
finsoftrz
Небольшое, но полезное наблюдение. Когда добавляем новый контрол на закладке в оконном дизайнере, чтобы он не улетал на другие закладки или в окно, надо в дереве tab выделить нужную закладку, а потом добавлять. Ставится в конец списка контролов на закладке, но хоть так, чтобы потом долго не таскать по всему дереву.
Clarion 11-12
Добавлено: 06 Ноябрь 2022, 13:36
Губин Игорь
kreator писал(а): ↑05 Ноябрь 2022, 19:46
Собрал тест. На простом окне четыре одинаковые картинки.
Поигрался в разных вариантах. Да, это глюк рантайма. Единственное, что могу посоветовать - хранить каждую картинку в двух вариантах. И не использовать на Image совершенно бесполезный с точки зрения интерфейса Disable, а подсовывать картинку. Да, я понимаю, что это маразм.
Clarion 11-12
Добавлено: 06 Ноябрь 2022, 14:36
Игорь Столяров
kreator писал(а): ↑05 Ноябрь 2022, 19:46
Если посмотреть эмбедсы, там всё просто - prop:Disable
Ну, как говорится: если в гору идти не получается - то ведь можно её обойти.
Манипулируем IMAGE прямой записью образа в памяти. В т.ч. и делаем её Grayscale
или мнонхромом любого уровня и т.д. Юзаем библиотеку FreeImage.
Код: Выделить всё
theImage FreeImageClass
Loc:TmpString &STRING
fihMemory FIMEMORY
mem_buffer Long
size_in_bytes UNSIGNED
Code
If theImage.iImage.Load(MyTheFile) = True
! Здесь сохранили в буфер образ "цветной картинки" см. далее
theImage.iImage.ConvertToGrayscale() ! Конвертация картинки в монохромную
FihMemory = FreeImage_OpenMemory() ! Запись картинки в буфер
If FihMemory <> 0
If FreeImage_SaveToMemory(FIF_BMP, theImage.pImage, fihMemory, 0) = True
If FreeImage_AcquireMemory(FihMemory, mem_buffer, size_in_bytes) = True
If size_in_bytes > 0
Loc:TmpString &= New(String(size_in_bytes))
If ~(Loc:TmpString &= Null) then WinApi_memcpy(Address(Loc:TmpString),mem_buffer,size_in_bytes).
end
end
end
FreeImage_CloseMemory(FihMemory)
else
theImage.iImage.TakeError(OUT_OF_MEMORY)
end
! Запись буфера с картинкой в IMAGE
If ~(Loc:TmpString &= Null) then ?Image{Prop:ImageBits} = Loc:TmpString.
....
end
И всё. Дальше просто меняем цветной образ на монохром и т.д. Ну и в завершении очистить память.
Clarion 11-12
Добавлено: 06 Ноябрь 2022, 15:55
kreator
Это фото сотрудников, к которым у разработчиков нет доступа. Объяснять пользователю, который загружает фото в систему, что надо бы загрузить два фото, и одно из них надо графическим редактором подработать, мягко говоря нехорошо.
Использовать FreeImage вариант. Но небось подводных камней насобираешь. Чёрно-белая картинка при такой конвертации становится "серой"?
Игорь Губин, может зашлём проблему в SV? Чего сидят, ничего не делают?
Clarion 11-12
Добавлено: 06 Ноябрь 2022, 16:05
Губин Игорь
kreator писал(а): ↑06 Ноябрь 2022, 15:55
Чего сидят, ничего не делают?
Можно попробовать. Постараюсь не затягивать. Но, имхо, безнадёга это. Явно слишком глубоко в рантайме сидит глюк, да и не критичный.
kreator писал(а): ↑06 Ноябрь 2022, 15:55
Объяснять пользователю, который загружает фото в систему
Честно сказать, я бы, при такой ситуации, обошёл бы ошибку онанизмом преобразования загружаемой картинки во второй экземпляр для disable через перехват экрана через WinAPI. Ну или наложением маски (сеточка или ещё что) вместо перевода в disable. Будет быстрее.
Clarion 11-12
Добавлено: 06 Ноябрь 2022, 16:09
Губин Игорь
Губин Игорь писал(а): ↑06 Ноябрь 2022, 16:05
Чего сидят, ничего не делают?
Хочешь поржать? Под AnyScreen всё идеально работает.
Clarion 11-12
Добавлено: 06 Ноябрь 2022, 16:23
Игорь Столяров
kreator писал(а): ↑06 Ноябрь 2022, 15:55
Чёрно-белая картинка при такой конвертации становится "серой"?
Загрузив картинку в FreeImage Вы сможете переключать в ней если не всё, то многое.
Контрастность, яркость, гамма-коррекцию ... Можно сделать оригинально и стильно.