![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как заставить TPaintBox не стрираться при перекрытии его др. форм [D4, Win95/98]
Tahion © (2003-01-25 21:28:00)В Canvas TPaintBox-a рисую что-нибудь. Если затем его переркыть др. формой, то то, что я нарисовал стирается. Как этого избежать?
Как можно в TImage нарисовать иконку, извлекаемую из exe при помощи ExtractIcon() так, чтоб ее фон был не белым, на цвета формы?
Image.Canvas.Pen.Color:=clBtnFace;
Image.Canvas.Brush.Color:=clBtnFace;
не помогает.
Tahion (2003-01-29 07:15:00) [1]Уже нашел
Tahion (2003-01-28 09:10:00) [2]А, уже нашел
Tahion (2003-01-28 09:08:00) [3]Не нашел там такого:(
Можешь выслать?
Anatoly Podgoretsky (2003-01-27 07:50:00) [4]Что бы посмотреть жанную технику скачай компонент TTrkBar с иоей страницы, сам компонент не представляет интереса, но там применена именно эта техника.
Юрий Зотов (2003-01-27 07:06:00) [5]> А как накладывать маску
Маска - это та же картинка, но там, где нужно получить прозрачный цвет, находятся белые пиксели, а все остальные пиксели маски - черные. На самой же картинке в прозрачных местах должны быть черные пиксели. Рисование производится на временном битмапе в три приема (см. Canvas.CopyMode):
1. Копируется фоновое изображение (cmSrcCopy).
2. Накладывается маска (cnSrcAnd).
3. Рисуется само изображение (cmSrcPaint).
В итоге там, где на маске были белые пиксели, а на самой картинке - черные, получаем те же пиксели, что были на исходном фоновом изображении. Это и есть прозрачность. Осталось только перенести наш временный битмап на рабочую канву.
jack128 (2003-01-26 23:37:00) [6]>>1. Перенести код рисования в обработчик OnPaint.Так не могу. >>Есть другой способ?
Почему?
Tahion (2003-01-26 23:08:00) [7]Неужели никто не знает?
Tahion (2003-01-26 06:02:00) [8]>>1. Перенести код рисования в обработчик OnPaint.Так не могу. Есть другой способ?
>>2. Image1.Transparent := True. Или наложить маску.
Transparent - не подходит. Я рисую иконку, и поэтому вместо белого внутри ее получается дырка. А как накладывать маску (желательно с куском кода)
Юрий Зотов (2003-01-25 22:04:00) [9]1. Перенести код рисования в обработчик OnPaint.
2. Image1.Transparent := True. Или наложить маску.