Главная страница
    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.48 MB
Время: 0.041 c
14-1118309641
boriskb
2005-06-09 13:34
2005.07.11
Ностальгия :)


1-1119513253
TAN_K
2005-06-23 11:54
2005.07.11
Фреймы


14-1118048509
kot andrei
2005-06-06 13:01
2005.07.11
ник


14-1118838198
Lexa
2005-06-15 16:23
2005.07.11
Красивые таблички


8-1110382443
CJ Astral
2005-03-09 18:34
2005.07.11
Delphi и потоковое аудио





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский