Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сопирование Canvas'ов


Pentium133 ©   (2004-11-26 17:05:00) 

Мастера помагите решить такую проблемму. Уж пару дней мучаюсь.

У меня есть два TBitMap'a.
Первый это изображение(фотография, рисунок и пр.)
Второй я формирую сам:
 Str:= 'Test string';
 txt.Height := txt.Canvas.TextHeight(Str);
 txt.Width := txt.Canvas.TextWidth(Str);
 txt.Canvas.TextOut(0,0,Str);

Потом копирую этот текст на основоной BitMap:
 Bmp.Canvas.CopyRect(Rec,txt.Canvas,Rec);
Подскажите какой должен быть Bmp.Canvas.CopyMode, что бы текст скопировался "красиво". По умолчанию он выводится в белом прямоуголнике. Как бы тот прямоугольник cделать прозрачным? Или это вообще не так нужно делать?


MBo   (2004-11-26 17:27:00) [1]

>Или это вообще не так нужно делать?
Из приведенного не видно, почему нужно делать именно так.
Вообще ведь можно просто вывести текст на второй Canvas, прдварительно установив Brush.Style bsClear (либо SetBkMode TRANSPARENT)


Pentium133   (2004-11-26 17:21:00) [2]

cae ©   (26.11.04 17:17) [2]
Благодарю!


Ega23   (2004-11-26 17:21:00) [3]

aBitmap.Canvas.BrushCopy(ImageRect, CardAddImage, Rect(0,0,Width,Height), TransparentColor);    

?


cae   (2004-11-26 17:17:00) [4]

txt.Transparent := True ;
 Bmp.Canvas.Draw(0,0,Txt);


KilkennyCat   (2004-11-26 17:10:00) [5]

BitBlt


Наверх

Титульная страница Поиск, карта сайта Написать письмо