Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.07.11;
Скачать: CL | DM;

Вниз

PNG на форме...   Найти похожие ветки 

 
capkoh   (2005-03-03 22:42) [0]

Мне интересно, можно ли вместо формы использовать полупрозрачное (с альфа-каналом) изображение, (как заставки у Acrobat Professional 6 сверху, CorelDraw 12)? Т.е. нужно нарисовать на форме прозрачное изображение так, чтобы был виден рабочий стол или окно под данным окном в местах прозрачности изображения. PNG позволяет добиться хорошей сглаженности углов изображения и отлично смотрится как окно заставки. Нарисовать довольно просто, но как быть если под такое окно затащили другое окно? При этом если просто перерисовать картинку происходит наложение "альфа-каналов" и былые прозрачные места/границы становятся менее и менее прозрачными.


 
Gero ©   (2005-03-04 23:05) [1]

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


 
Gero ©   (2005-03-04 23:06) [2]


> как быть если под такое окно затащили другое окно?

Вот поэтому такой прием кроме как в заставках, которые модальные, нигде больше не используется.


 
capkoh   (2005-03-05 14:53) [3]

Вот мне то как раз и нужно как-то обновить картинку (точнее, те области которые прозрачные, если под ними появилось другое окно)! Нарисовать-то правильно я ее смог, прозрачная. А вот с обновлением проблема.


 
capkoh   (2005-03-05 14:54) [4]

Это мне нужно потому, что во время загрузки могут появиться MessageBox"ы, и вот тогда-то и получается ерунда!


 
Tirex   (2005-03-05 15:30) [5]

можно поинтересоваться как рисовали png(компонент, вручную)?
случайно не пробовали png на кнопки toolbar"a добавлять?


 
capkoh   (2005-03-06 14:01) [6]

Вручную, рисует хорошо. Можно на рабочий стол, а можно на любой компонент. Но опять же, если задать компоненту прозрачный цвет (скажем, у формы), то при рисовании на ней, те пиксели, которые с альфа-каналом, накладываются на цвет формы (тот, что прозрачный), а не на то, что сейчас видно "сквозь" форму...

Это как, на кнопки? Там же из ImageList"а, а он их масштабирует, к тому же только иконки понимает и bmp...


 
Gero ©   (2005-03-06 14:25) [7]


> накладываются на цвет формы (тот, что прозрачный), а не
> на то, что сейчас видно "сквозь" форму

Что значит «цвет формы (тот, что прозрачный)»?
TForm.TransparentColor?


 
capkoh   (2005-03-06 15:55) [8]

Да, он и есть (он равен Form.Color в нашем случае, чтобы сделать прозрачность формы).


 
Sphinx ©   (2005-03-06 17:38) [9]

> Да, он и есть (он равен Form.Color в нашем случае, чтобы
> сделать прозрачность формы).

Дык это будет работать только под Win2000 и WinXP, под старушками 9х будет серая форма...


 
capkoh   (2005-03-06 18:21) [10]

О "старушках" здесь речь не идет...


 
Gero ©   (2005-03-06 19:40) [11]


> capkoh   (06.03.05 18:21)

Чем тебя алгоритм, предложенный в [1] не устраивает?


 
Tirex   (2005-03-06 23:28) [12]

можно кусок кода посмотреть как рисуешь?


 
capkoh   (2005-03-07 15:08) [13]

2Gero: Все дело в ошибках, когда они вылезают: возможно переключиться на другое окно и подвигать его. В том случае, если оно (окно) изначально было под картинкой, то часть его скопитуется на картинку. Теперь (во время ошибки) полученное изображние на картинке остается, а background изменяется (движение окна) не влияя на прозрачные области...
Но я обошел (не решил) эту проблемму: просто скрываю картинку во время ошибки.


 
Fenik   (2005-03-07 17:41) [14]

Неужто так долго грузится твоя программа, что чьи-то ошибки успевают появляться?


 
capkoh   (2005-03-07 17:58) [15]

Нет, появляются мои ошибки, например: конфигурационный файл не найден, необходимые для работы файлы не найдены...


 
Gero ©   (2005-03-07 18:17) [16]


> capkoh   (07.03.05 17:58)

Пересмотри логику работы.
Ошибки можно записывать в лог и только после окончания загрузки показывать.


 
имя   (2005-03-07 22:24) [17]

Удалено модератором
Примечание: Наверное, поле "ник" для ника и предназначено?


 
capkoh   (2005-03-13 14:20) [18]

Похоже, это то, что мне нужно!


 
имя   (2005-03-14 16:07) [19]

Удалено модератором



Страницы: 1 вся ветка

Текущий архив: 2005.07.11;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.067 c
3-1116927000
msguns
2005-05-24 13:30
2005.07.11
Что нужно на клиенте для работы ADO+Access


8-1110900767
Adolf
2005-03-15 18:32
2005.07.11
написать текст на Image1


5-1089664919
boband
2004-07-13 00:41
2005.07.11
Как управлять прорисовкой кнопки?


14-1118759928
Lucifer
2005-06-14 18:38
2005.07.11
Помогите выбрать сканер!


14-1118538574
Defunct
2005-06-12 05:09
2005.07.11
Нонсенс..