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

Вниз

Как заставить TPaintBox не стрираться при перекрытии его др. форм   Найти похожие ветки 

 
Tahion   (2003-01-25 21:28) [0]

В Canvas TPaintBox-a рисую что-нибудь. Если затем его переркыть др. формой, то то, что я нарисовал стирается. Как этого избежать?

Как можно в TImage нарисовать иконку, извлекаемую из exe при помощи ExtractIcon() так, чтоб ее фон был не белым, на цвета формы?
Image.Canvas.Pen.Color:=clBtnFace;
Image.Canvas.Brush.Color:=clBtnFace;
не помогает.


 
Юрий Зотов   (2003-01-25 22:04) [1]

1. Перенести код рисования в обработчик OnPaint.

2. Image1.Transparent := True. Или наложить маску.


 
Tahion   (2003-01-26 06:02) [2]

>>1. Перенести код рисования в обработчик OnPaint.Так не могу. Есть другой способ?

>>2. Image1.Transparent := True. Или наложить маску.
Transparent - не подходит. Я рисую иконку, и поэтому вместо белого внутри ее получается дырка. А как накладывать маску (желательно с куском кода)


 
Tahion   (2003-01-26 23:08) [3]

Неужели никто не знает?


 
jack128   (2003-01-26 23:37) [4]

>>1. Перенести код рисования в обработчик OnPaint.Так не могу. >>Есть другой способ?
Почему?


 
Юрий Зотов   (2003-01-27 07:06) [5]

> А как накладывать маску

Маска - это та же картинка, но там, где нужно получить прозрачный цвет, находятся белые пиксели, а все остальные пиксели маски - черные. На самой же картинке в прозрачных местах должны быть черные пиксели. Рисование производится на временном битмапе в три приема (см. Canvas.CopyMode):
1. Копируется фоновое изображение (cmSrcCopy).
2. Накладывается маска (cnSrcAnd).
3. Рисуется само изображение (cmSrcPaint).
В итоге там, где на маске были белые пиксели, а на самой картинке - черные, получаем те же пиксели, что были на исходном фоновом изображении. Это и есть прозрачность. Осталось только перенести наш временный битмап на рабочую канву.


 
Anatoly Podgoretsky   (2003-01-27 07:50) [6]

Что бы посмотреть жанную технику скачай компонент TTrkBar с иоей страницы, сам компонент не представляет интереса, но там применена именно эта техника.


 
Tahion   (2003-01-28 09:08) [7]

Не нашел там такого:(
Можешь выслать?


 
Tahion   (2003-01-28 09:10) [8]

А, уже нашел


 
Tahion   (2003-01-29 07:15) [9]

Уже нашел



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

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

Наверх




Память: 0.46 MB
Время: 0.009 c
6-15776
Noname_
2002-12-10 17:07
2003.02.06
502 Proxy Error


14-15884
MAN-IN-RED
2003-01-19 15:51
2003.02.06
Как часто вы используете комментарии в программах?


1-15615
MikeFW
2003-01-29 12:08
2003.02.06
Ошибка - которую я не пойму?


1-15661
vvolkov
2003-01-29 16:52
2003.02.06
Перекомпиляция VCL


1-15605
eLVik
2003-01-23 09:37
2003.02.06
Alignment





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский