Модераторы: Snowy, Alexeis, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как сгладить края у нестандартной формы? 
:(
    Опции темы
elestrago
Дата 1.2.2008, 17:08 (ссылка) |  (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 146
Регистрация: 23.8.2007
Где: runet

Репутация: нет
Всего: 3



вот собственна форма user posted image
--------------------
PM MAIL ICQ   Вверх
THandle
Дата 1.2.2008, 17:10 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хранитель Клуба
Group Icon
Награды: 1



Профиль
Группа: Админ
Сообщений: 3639
Регистрация: 31.7.2007
Где: Moscow, Dubai

Репутация: 1
Всего: 372



Смотри в сторону регионов. В DRKB помойму были примеры.
PM   Вверх
elestrago
Дата 1.2.2008, 17:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 146
Регистрация: 23.8.2007
Где: runet

Репутация: нет
Всего: 3



я про региона там много че нашел а вот про сглаживание неровных краев чето не могу откопать... поэтому тут отписал тему..
--------------------
PM MAIL ICQ   Вверх
Alexeis
Дата 1.2.2008, 17:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 55
Всего: 459



  Можно просто задать прозрачный цвет и сделать его цветом формы, потом нарисовать на форме нужуню картинку любым другим цветом отличным от прозрачного.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
elestrago
Дата 1.2.2008, 21:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 146
Регистрация: 23.8.2007
Где: runet

Репутация: нет
Всего: 3



 smile 
--------------------
PM MAIL ICQ   Вверх
MetalFan
Дата 1.2.2008, 22:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 5
Всего: 128



наверное стоит смотреть в сторону UpdateLayeredWindow 


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
Alexeis
Дата 1.2.2008, 23:01 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 55
Всего: 459



Код

procedure TForm1.FormCreate(Sender: TObject);
begin
  TransparentColor      := true;
  TransparentColorValue := clBlue;
  Color                 := clBlue;
  AlphaBlend            := true;
  AlphaBlendValue       := 150;
  BorderStyle           := bsNone;
end;

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  ReleaseCapture();
  form1.Perform(WM_SYSCOMMAND, $F012, 0);
end;

procedure TForm1.FormPaint(Sender: TObject);
begin
  Canvas.Brush.Color := clBlack;
  Canvas.Pen.Color := clBlack;
  Canvas.Ellipse(-100, -100, 100, 100);
end;



--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
elestrago
Дата 2.2.2008, 09:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 146
Регистрация: 23.8.2007
Где: runet

Репутация: нет
Всего: 3



не совсем гладкие края user posted image

Добавлено через 1 минуту и 59 секунд
читал где то в нете что можно сделать что то типа визуального уменьшения формы типа как рисук сперва рисуешь в большом разрешшение потом уменьшаешь и получается четкий рисунок! 
--------------------
PM MAIL ICQ   Вверх
Urvin
Дата 2.2.2008, 10:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 66
Регистрация: 1.6.2006

Репутация: нет
Всего: нет



Вот такую фишку нашел:
user posted image

Медленная зараза, но, может, на первых порах подойдет.
Там ели брать на рассмотрение только часть окружности определенной толщины...
http://urvin.ifolder.ru/5194855
PM MAIL   Вверх
elestrago
Дата 2.2.2008, 10:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 146
Регистрация: 23.8.2007
Где: runet

Репутация: нет
Всего: 3



на виндовс виста это вот как выглядит smile user posted image
--------------------
PM MAIL ICQ   Вверх
Alexeis
Дата 2.2.2008, 12:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 55
Всего: 459



Цитата(elestrago @  2.2.2008,  08:14 Найти цитируемый пост)
не совсем гладкие края

  Так и в первом посте они не гладкие! Чтобы они были гладкими нужна изменяющаяся прозрачность. Т.е. переходила бы в 0 на самом краю. Такое можно сделать функцией UpdateLayeredWindow, как и сказал MetalFan.
  Самопальная прозрачность неканает, слишком медленно работает да и следы видны. Прорисовкой LayeredWindow занимается винда, от того оно получается сравнительно быстро и красиво. Это единственный более менее приличный вариант.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
elestrago
Дата 2.2.2008, 13:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 146
Регистрация: 23.8.2007
Где: runet

Репутация: нет
Всего: 3



откопал очень интересный исходник ссылка 

user posted image

может кому пригодится smile 

Это сообщение отредактировал(а) elestrago - 2.2.2008, 13:13
--------------------
PM MAIL ICQ   Вверх
Urvin
Дата 2.2.2008, 14:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 66
Регистрация: 1.6.2006

Репутация: нет
Всего: нет



elestrago, Отличный пример, спасибо!
PM MAIL   Вверх
AntonN
Дата 2.11.2008, 18:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 491
Регистрация: 8.8.2006

Репутация: 7
Всего: 18



нарисовал второй пример заставки, более "живой" и похожий на сплеш, возможно кому то пригодится.
с выводтом текста статуса загрузки, прогрессбаром и понтовыми иконками smile
user posted image

AnimateSplash_thread.zip (zip, 280kb с ЕХЕ).


--------------------
user posted image
PM MAIL WWW   Вверх
pseud
Дата 6.11.2008, 11:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Экспёрт Тыдыщ
***


Профиль
Группа: Завсегдатай
Сообщений: 1175
Регистрация: 18.5.2007
Где: Минск, Беларусь

Репутация: нет
Всего: 40



супер
жаль только что при таскании за брюхо процесс отсанавливается.
да и заметка для скачавших - при закрытии сплеша по альт+ф4 - прогу нужно вырубать диспетчером или ждать пока сплеш где-то там дозагрузится.


--------------------
Испытание чужого терпения можно считать успешным, если оно лопнуло...
PM MAIL   Вверх
AntonN
Дата 6.11.2008, 11:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 491
Регистрация: 8.8.2006

Репутация: 7
Всего: 18



насколько я помню vcl отрабатывается в одном потоке, потому и тормозится процесс. А вот если загрузка не будет прилеплена к сообщениям (например закачка по сети в доп потоке и изредка возвращает прогресс в основном поток), то остановки не будет, будет скачек прогресса когда перестанем таскать сплеш (я его вообще только для наглядности сделал таскаемым smile ).
и да, что то с потоками намудрил, все равно же отрисовка стопорится smile


--------------------
user posted image
PM MAIL WWW   Вверх
pasha08
Дата 9.1.2009, 16:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 11.8.2008
Где: Тула

Репутация: нет
Всего: нет



Эээ... это, конечно, всё круто, но как в примере elestrago какие-нибудь кнопки, image'ы и т.д. отображать???
PM MAIL ICQ Skype   Вверх
AntonN
Дата 9.1.2009, 16:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 491
Регистрация: 8.8.2006

Репутация: 7
Всего: 18



вручну рисовать их на том битмапе, что будет выводиться


--------------------
user posted image
PM MAIL WWW   Вверх
pasha08
Дата 9.1.2009, 18:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 11.8.2008
Где: Тула

Репутация: нет
Всего: нет



а какой-нибудь edit с мигающим курсором? и каким образом?
PM MAIL ICQ Skype   Вверх
AntonN
Дата 9.1.2009, 18:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 491
Регистрация: 8.8.2006

Репутация: 7
Всего: 18



а вот про эдиты не знаю smile


--------------------
user posted image
PM MAIL WWW   Вверх
pasha08
Дата 9.1.2009, 18:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 11.8.2008
Где: Тула

Репутация: нет
Всего: нет



а если серьёзно?
PM MAIL ICQ Skype   Вверх
December
Дата 9.1.2009, 19:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Antitheorist
****


Профиль
Группа: Участник
Сообщений: 4423
Регистрация: 14.8.2002
Где: Харьков

Репутация: нет
Всего: 57



Лингво и Фотошоп просто запоминают кусок экрана, поверх которого собираются рисовать свой сплэш, и рисуют на форму свою картинку поверх этого куска экрана. Думаю, это самый универсальный способ. Если сплэш висит не сильно долго, и картинка под ним не меняется, то юзер скорее всего ничего и не заметит.


--------------------
Для друзей с винграда - скидки на разработку сайтов
PM MAIL WWW ICQ   Вверх
AntonN
Дата 9.1.2009, 20:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 491
Регистрация: 8.8.2006

Репутация: 7
Всего: 18



pasha08, серьезней некуда, стандартные контролы не совсем подходят, нужно свои реализовывать. Так в Конфабуляторе есть виджет поиска, там эдит свой, графический. Конечно это ниразу не легко smile


--------------------
user posted image
PM MAIL WWW   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Звук, графика и видео"
Girder
Snowy
Alexeis

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • По вопросам разработки игр стоит заглянуть сюда

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема »


 




[ Время генерации скрипта: 0.1004 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.