| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Звук, графика и видео > Как сгладить края у нестандартной формы? |
| Автор: elestrago 1.2.2008, 17:08 |
вот собственна форма ![]() |
| Автор: THandle 1.2.2008, 17:10 |
| Смотри в сторону регионов. В DRKB помойму были примеры. |
| Автор: elestrago 1.2.2008, 17:20 |
| я про региона там много че нашел а вот про сглаживание неровных краев чето не могу откопать... поэтому тут отписал тему.. |
| Автор: Alexeis 1.2.2008, 17:58 |
| Можно просто задать прозрачный цвет и сделать его цветом формы, потом нарисовать на форме нужуню картинку любым другим цветом отличным от прозрачного. |
| Автор: elestrago 1.2.2008, 21:53 |
| |
| Автор: MetalFan 1.2.2008, 22:14 |
| наверное стоит смотреть в сторону UpdateLayeredWindow |
| Автор: Alexeis 1.2.2008, 23:01 | ||
|
| Автор: elestrago 2.2.2008, 09:14 |
не совсем гладкие края ![]() Добавлено через 1 минуту и 59 секунд читал где то в нете что можно сделать что то типа визуального уменьшения формы типа как рисук сперва рисуешь в большом разрешшение потом уменьшаешь и получается четкий рисунок! |
| Автор: Urvin 2.2.2008, 10:15 |
| Вот такую фишку нашел: http://funkyimg.com Медленная зараза, но, может, на первых порах подойдет. Там ели брать на рассмотрение только часть окружности определенной толщины... http://urvin.ifolder.ru/5194855 |
| Автор: elestrago 2.2.2008, 10:41 |
на виндовс виста это вот как выглядит ![]() |
| Автор: Alexeis 2.2.2008, 12:44 |
Так и в первом посте они не гладкие! Чтобы они были гладкими нужна изменяющаяся прозрачность. Т.е. переходила бы в 0 на самом краю. Такое можно сделать функцией UpdateLayeredWindow, как и сказал MetalFan. Самопальная прозрачность неканает, слишком медленно работает да и следы видны. Прорисовкой LayeredWindow занимается винда, от того оно получается сравнительно быстро и красиво. Это единственный более менее приличный вариант. |
| Автор: elestrago 2.2.2008, 13:11 |
откопал очень интересный исходник http://desksoft.ru/index.php?forum=13&th=47 ![]() может кому пригодится |
| Автор: Urvin 2.2.2008, 14:04 |
| elestrago, Отличный пример, спасибо! |
| Автор: AntonN 2.11.2008, 18:38 |
| нарисовал второй пример заставки, более "живой" и похожий на сплеш, возможно кому то пригодится. с выводтом текста статуса загрузки, прогрессбаром и понтовыми иконками http://desksoft.ru/index.php?downloads=attachments&id=108 (zip, 280kb с ЕХЕ). |
| Автор: pseud 6.11.2008, 11:30 |
| супер. жаль только что при таскании за брюхо процесс отсанавливается. да и заметка для скачавших - при закрытии сплеша по альт+ф4 - прогу нужно вырубать диспетчером или ждать пока сплеш где-то там дозагрузится. |
| Автор: AntonN 6.11.2008, 11:47 |
| насколько я помню vcl отрабатывается в одном потоке, потому и тормозится процесс. А вот если загрузка не будет прилеплена к сообщениям (например закачка по сети в доп потоке и изредка возвращает прогресс в основном поток), то остановки не будет, будет скачек прогресса когда перестанем таскать сплеш (я его вообще только для наглядности сделал таскаемым и да, что то с потоками намудрил, все равно же отрисовка стопорится |
| Автор: pasha08 9.1.2009, 16:18 |
| Эээ... это, конечно, всё круто, но как в примере elestrago какие-нибудь кнопки, image'ы и т.д. отображать??? |
| Автор: AntonN 9.1.2009, 16:37 |
| вручну рисовать их на том битмапе, что будет выводиться |
| Автор: pasha08 9.1.2009, 18:00 |
| а какой-нибудь edit с мигающим курсором? и каким образом? |
| Автор: AntonN 9.1.2009, 18:54 |
| а вот про эдиты не знаю |
| Автор: pasha08 9.1.2009, 18:57 |
| а если серьёзно? |
| Автор: December 9.1.2009, 19:15 |
| Лингво и Фотошоп просто запоминают кусок экрана, поверх которого собираются рисовать свой сплэш, и рисуют на форму свою картинку поверх этого куска экрана. Думаю, это самый универсальный способ. Если сплэш висит не сильно долго, и картинка под ним не меняется, то юзер скорее всего ничего и не заметит. |
| Автор: AntonN 9.1.2009, 20:39 |
| pasha08, серьезней некуда, стандартные контролы не совсем подходят, нужно свои реализовывать. Так в Конфабуляторе есть виджет поиска, там эдит свой, графический. Конечно это ниразу не легко |