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

Вниз

Canvas.TextOut - прозрачный фон   Найти похожие ветки 

 
alex_***   (2003-12-30 14:39) [0]

народ, из головы вылетело, как при выводе текста через Canvas.TextOut(...) сделать прозрачный фон?


 
Тимохов   (2003-12-30 14:41) [1]

в textflags канваса поставить ETO_OPAQUE


 
alex_***   (2003-12-30 14:48) [2]

не помогло ((
есть для Canvas аналог SetBkMode(hdc,TRANSPARENT)?


 
Юрий Федоров   (2003-12-30 14:53) [3]

по моему
brush.style:=bsClear


 
alex_***   (2003-12-30 14:54) [4]

хрен с ним. Сделал через SetBkMode(canv.Handle,TRANSPARENT);


 
Юрий Федоров   (2003-12-30 14:54) [5]

>>есть для Canvas аналог SetBkMode(hdc,TRANSPARENT)?
вообще-то можно и напрямую вызывать, никто не запрещает

SetBkMode(Canvas.Handle, TRANSPARENT)


 
Тимохов   (2003-12-30 14:55) [6]

alex_*** © (30.12.03 14:48) [2]
Странно - я взял кусок из своей проги. У меня работает.


 
Тимохов   (2003-12-30 14:58) [7]

alex_*** © (30.12.03 14:48) [2]
Ты почитай внимательно описание к textflags.
ETO_OPAQUE надо снять, а не поставить.
Виноват в Тимохов © (30.12.03 14:41) [1] - был не корректен, не до конца прорюхал свой исходник.


 
Тимохов   (2003-12-30 15:01) [8]

Юрий Федоров © (30.12.03 14:53) [3]
Это сработает если пользоваться TextRect. В TextOut это не сработает, ИМХО. Не проверял, но по исходнику graphics именно так.


 
Юрий Федоров   (2003-12-30 15:05) [9]

>>Тимохов © (30.12.03 15:01) [8]
Действительно судя по исходнику именно так.
Странно...


 
Serge   (2003-12-30 15:06) [10]

> Тимохов © (30.12.03 15:01) [8]
>Юрий Федоров © (30.12.03 14:53) [3]
>Это сработает если пользоваться TextRect. В TextOut это не >сработает, ИМХО. Не проверял, но по исходнику graphics именно >так.

Очень даже работает - :)


 
Тимохов   (2003-12-30 15:12) [11]

Serge © (30.12.03 15:06) [10]
Действительно, Вы правы.
Щас пойму почему так - по коду не совсем понятно...


 
alex_***   (2003-12-30 15:15) [12]

у меня помогает только SetBkMode(Canvas.Handle, TRANSPARENT) (((


 
Тимохов   (2003-12-30 15:16) [13]

alex_*** © (30.12.03 15:15) [12]

Пример работающего кода

with PaintBox1.canvas do
begin
moveto(10,10);
lineto(100,10);
brush.style:=bsClear;
textout(10, 5, "22222");
end;


 
alex_***   (2003-12-30 15:20) [14]

эх.. проще выходит через SetBkMode(...)


 
Тимохов   (2003-12-30 15:25) [15]

alex_*** © (30.12.03 15:20) [14]
Да ясно, что проще, но ведь интересно же - смотришь в код, видишь одно, а он работате по-другому...


 
REA   (2003-12-30 16:08) [16]

brush.style:=bsClear вызывает че то типа SetBkMode(...) поэтому индифферентно что использовать


 
Тимохов   (2003-12-30 16:19) [17]

REA © (30.12.03 16:08) [16]
brush.style:=bsClear ничего не делает.
SetBkMode вызывается в методе tcanvas.RequiredState.

Знатокам.
Все эти изыскания навели меня на мысль, о том, что у меня ошибка, а то, что раньше работало все нормально, так это счастливое стечение обстоятельств.
Вопрос, почему в методе ExtTextOut (им пользуется TextOut) не работает флажок ETO_OPAQUE. Т.е. вернее он ни на что не влияет, хотя по http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/fontext_2ks4.asp вроде как должен это делать? Интересно...



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

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

Наверх




Память: 0.47 MB
Время: 0.009 c
1-37720
ikivio
2003-12-30 17:33
2004.01.13
Multilanguage Interface


1-37656
BOA_KAA
2003-12-25 20:09
2004.01.13
Почему вываливается External Exception?


11-37594
BaRToV
2003-04-20 15:48
2004.01.13
kol.mastak.ru


6-37818
turonix
2003-11-12 02:04
2004.01.13
Как в браузере реализовать таймаут?


9-37485
Кен
2003-06-27 06:02
2004.01.13
Вау ! Сайт glscene обновился ! Не прошло и пол-года





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