Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Media";
Текущий архив: 2003.11.13;
Скачать: [xml.tar.bz2];

Вниз

Front с прозрачным фоном на Canvas-e   Найти похожие ветки 

 
pasha676   (2003-07-08 15:57) [0]

Сел на якорь на таком простом вопросе. Как не пишу (OutText) на канвасе - все одно белый фон текста. Как его сделать прозрачным?


 
MBo   (2003-07-08 16:09) [1]

SetBKMode Transparent ставил?


 
pasha676   (2003-07-08 16:46) [2]

Нет. Вот такую ерунду по хэлпу писал

TrassaBmp.Transparent:=true;
TrassaBmp.TransparentColor:=$00FFFFFF;
TrassaBmp.TransparentMode:=tmAuto;

ну и потом TrassaBmp.Canvas.TextOut(25,150,"бла-бла бла");

Что есть за свойство SetBKMode и где оно находиться?


 
iXuSs   (2003-07-08 16:58) [3]

Не стал мудрить, вот из FAQ:

procedure TForm1.Button1Click(Sender: TObject);
var
OldBkMode : integer;
begin
Image1.Picture.Bitmap.Canvas.Font.Color := clBlue;
OldBkMode := SetBkMode(Image1.Picture.Bitmap.Canvas.Handle,TRANSPARENT);
Image1.Picture.Bitmap.Canvas.TextOut(10, 10, "Hello");
SetBkMode(Image1.Picture.Bitmap.Canvas.Handle,OldBkMode);
end;

Полагаю, ты без труда переделаешь под свои нужды.


 
Дмитрий Мыльников   (2003-07-08 17:04) [4]

А для изменения цвета фона используется функция SetBkColor(HDC, Color)
Кстати, эти же функции влияют и на прозрачность/непрозрачность и цвет фона в заливках контуров (свойство Canvas.Brush.Style, когда оно не bsClear или bsSolid, а какой-нибудь узор). Причём об этом толком нигде нет, я сам в своё время искал методом "научного тыка".


 
pasha676   (2003-07-08 17:09) [5]

Спасибо нашел. Я думал это свойство битмапа или канваса, а это функция API


 
MBo   (2003-07-08 17:11) [6]

для VCL-TCanvas в большинстве случаев достаточно Brush.Style:=bsClear, а вообще к device context - API-функция SetBKMode



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

Форум: "Media";
Текущий архив: 2003.11.13;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.038 c
3-40957
gds
2003-10-16 17:12
2003.11.13
Что не так ?


1-41384
Zilog
2003-10-30 10:45
2003.11.13
Pascal 7.0 Есть указатель на некую функцию. Требуется запустить


4-42317
Слава
2003-09-04 19:06
2003.11.13
Как перехватить dos ответ


14-42061
Knight
2003-10-23 22:13
2003.11.13
Почему не работает?


1-41725
md
2003-11-03 14:37
2003.11.13
CreateFileMaping





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